我有一种方法可以使用SimpleDateFormat将一个字符串(yyyy-MM-dd HH:mm:ss.SSS)解析为日期对象。
public static Timestamp convertToTimestamp(String stringToFormat) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
try {
Date date = dateFormat.parse(stringToFormat);
Timestamp tstamp = new Timestamp(date.getTime());
return tstamp;
}
catch (ParseException e) {
return null;
}
}
然而,当毫秒以0结尾时(例如"2013-07-07 19:15:00.000"), 当我将其分配给Timestamp对象时,执行以下操作:
Timestamp tstamp = new Timestamp(date.getTime());
输出如下:2013-07-07 19:15:00.0
有没有办法在毫秒级别保留三位小数的精度?我知道我可以进行某种长度检查并手动添加0,但更高效、标准的方法是首选。
Timestamp#toString()
明确截断尾随的零;您不会失去任何精度。 - DannyMo