User对象里面有java.util.Date的birthday,我们需要存的格 式为2001-01-01 01:01:01,mysql数据库中是datetime, 当我们需要存入数据库或从数据库中取出来时,有一些细节必须 注意!因为直接将java.util.Date存入数据库是不行的!
所有我们需要使用到java.sql.Timestamp这个类来进行转换:
存
Timestamp t=new Timestamp(user.getBirthay().getTime()); ps.setTimestamp(3, t);
取出来的时候就很简单了,
因为java.sql.Timestamp是继承了java.util.Date,
所有直接将取出来的值赋给birthdat就行了!
取
Timestamp t = rs.getTimestamp(“birthday”);
user.setBirthay(t);
MYSQL中的datetime可以以TimeStamp来接收
一、获取当前系统时间和日期并格式化输出:
Date date = new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String dateTime = df.format(date); // Formats a Date into a date/time string.
System.out.println(dateTime); // 2019-08-24 21:33:20
二、Date转换为Datetime
Date date = new Date();
long longTime = date.getTime();
Timestamp timestamp = new Timestamp(longTime);
System.out.println(timestamp); // 2019-08-24 00:00:20.655
三、String转换为Date
String strTime = "2019-08-24 12:00:01";
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = null;
try {
date1 = sdf1.parse(strTime);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date1); // Sun Aug 24 12:00:01 CST 2019
四、Date转换为String
Date date2 = new Date();
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
String str1 = format.format(date2);
System.out.println(str1); // 2019-08-23
五、String转化为java.sql.Date
String str2 = "2019-08-01";
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Date sDate = null;
try {
java.util.Date date3 = sdf2.parse(str2);
sDate = new java.sql.Date(date3.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(sDate); // 2019-08-01
}
六,mysql中存入timestamp 类型时间需要java将时间转为其数据库对应的数据格式
Date date=new Date();
SimpleDateFormat temp=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
//date转字符串
String date1=temp.format(date);
//字符串转date
Date date2=temp.parse(date1);