当我将字符串日期转换为“18/09 / 13,02:01:51”时 使用此方法:
public static Date stringToDateFormat(String dateString) {
Date date = null;
try {
date = new SimpleDateFormat("dd/MM/yy,hh:mm:ss").parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
当我保存此日期对象转换为SQL Date并将其存储在PostgreSQL数据库中时,我会浪费时间 2013-09-18 00:00:00
这里是DB插入代码“
String query = "INSERT INTO My_Table(my_date) VALUES (?)";
Date date = stringToDateFormat("18/09/13,02:01:51");
preparedStatement = connection.prepareStatement(query);
preparedStatement.setDate(1, new java.sql.Date(date.getTime()));
preparedStatement.executeUpdate();
是编码问题还是数据库配置?
感谢。
答案 0 :(得分:2)
您的日期字符串未指定ms并且正在舍入。
18/09/13,02:01:51 == 1379458917000
18/09/13,02:01:51.590 == 1379458917590
<强>更新强>:
捕获MS的格式字符串为:dd/MM/yy,hh:mm:ss.SSS