【发布时间】:2014-04-10 12:20:41
【问题描述】:
我正在计算以下格式的两个时间戳之间的差异
2013-07-22 05:24:24.77
我正在使用下面的方法来计算两个时间戳之间的差异
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Date resDate = sdf.parse(responseData.getTimestamp().toString());
Date reqDate = sdf.parse(requestData.getTimestamp().toString());
System.out.println("response-->"+responseData.getTimestamp());
System.out.println("request-->"+requestData.getTimestamp());
System.out.println("diff-->"+(resDate.getTime()-reqDate.getTime()));
在以下情况下,两个时间戳之间的差异为负数。例如
回复日期:2013-07-22 05:24:24.77
请求日期:2013-07-22 05:24:24.663
结果是:
差异-->-586
它应该减去类似 "770-663" 的东西,而不是减去时间戳作为 "77-663"。
谁能建议我应该做些什么改变,或者有没有其他方法可以做到?
提前致谢
【问题讨论】:
-
77 表示 77,而不是 770。(即它是过去 77 毫秒,而不是过去 770 毫秒)。因此,在您的示例中,请求日期是在响应日期之后,差异为负是正常的。