我正在尝试将以下字符串"2012-04-13 04:08:42.794"
转换为日期类型:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
Date convertedDate;
try {
convertedDate = dateFormat.parse(dateString);
System.out.println(" in utils: "+convertedDate.toString());
} catch (ParseException e) {
e.printStackTrace();
return null;
}
//----------------- i think this is the problem
java.sql.Date sqlDate = new java.sql.Date(convertedDate.getTime());
System.out.println("sql: "+sqlDate.toString());
return sqlDate;
但这是打印以下内容:
in utils: Fri Apr 13 04:08:42 PDT 2012
我如何获得这个日期来保留毫秒?
最佳答案
实际上,convertedDate对象确实包含毫秒信息。这里的问题是toString()方法格式不能显示毫秒。
做
System.out.println(" in utils: " + dateFormat.format(convertedDate));
您还可以检查是否已将ms设置为
System.out.println("millis: " + convertedDate.getTime());
关于Java日期在使用简单日期格式进行转换时不保留毫秒数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10149442/