(一)Date与字符串的转化
Date、String、Timestamp之间的转换!
- public static void main(String[] args) {
- DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- // String转Date
- str = "2009-01-06";
- java.util.Date date = format.parse("2009-01-06"); // Wed sep 26 00:00:00 CST 2007
-
- // Date转String
- date = new Date(); // Wed sep 26 18 17:14:01 CST 2007
- str = format.format(date); // 2007-9-26
- //
- format = DateFormat.getDateInstance(DateFormat.SHORT);
- str = format.format(date); // 07-9-26
-
- format = DateFormat.getDateInstance(DateFormat.MEDIUM);
- str = format.format(date); // 2007-9-26
- format = DateFormat.getDateInstance(DateFormat.FULL);
- str = format.format(date); // 2007年9月26日 星期三
- }
Timestamp和String之间转换的函数:
- public static void main(String[] args) {
- //Timestamp转化为String:
- SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
- Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
- String str = df.format(now);
- System.out.println(str);
-
- //String转化为Timestamp:
- SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = new Date();
- String time = df1.format(date);
- Timestamp ts = Timestamp.valueOf(time);
- System.out.println(ts);
- }
(二)java.util.Date和java.sql.Date的区别和相互转化
java.util.Date是在除了SQL语句的情况下面使用的。
java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分
它们都有getTime方法返回毫秒数,自然就可以直接构建。 java.util.Date 是 java.sql.Date 的父类,
因为PreparedStament的setDate()的第2参数和ResultSet的getDate()方法的第2个参数都是java.sql.Date。
其实他们的转化总结起来:都是通过 new Date(d.getTime());
java.sql.Date转为java.util.Date
java.sql.Date date=new java.sql.Date();
java.util.Date d=new java.util.Date (date.getTime());
java.util.Date转为java.sql.Date
java.util.Date utilDate=new Date();
java.sql.Date sqlDate=new java.sql.Date(utilDate.getTime());
java.util.Date utilDate=new Date();
java.sql.Timestamp stp=new java.sql.Timestamp(utilDate.getTime());
这里所有时间日期都可以被SimpleDateFormat格式化format()