SimpleDateFormat没有正确解析毫秒
2022-09-01 14:23:08
背景:
在我的数据库表中,我有两个时间戳
timeStamp1 = 2011-08-23 14:57:26.662
timeStamp2 = 2011-08-23 14:57:26.9
当我做一个“按时间戳ASC排序”时,timeStamp2被认为是更大的时间戳(这是正确的)。
要求:我需要获取这些时间戳的差异(timeStamp2 - timeStamp1)
我的实现:
public static String timeDifference(String now, String prev) {
try {
final Date currentParsed = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse(now);
final Date previousParsed = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse(prev);
long difference = currentParsed.getTime() - previousParsed.getTime();
return "" + difference;
} catch (ParseException e) {
return "Unknown";
}
}
答案应该是 238 毫秒,但返回的值为 -653 毫秒。我不确定我做错了什么。有什么建议吗?