在Java中,如何获得两个日期和时间之间的精确差异?
我有两个约会对象。当我对日期对象使用after
方法时。它没有给出正确的reulst。这是我的密码
DateandTime1=Thu Dec 26 08:05:42 IST 2013
DateandTime2=Thu Dec 26 07:15:40 IST 2013
DateandTime1
和DateandTime2
是两个Date
对象。如果我编写类似boolean result=DateandTime1.after(DateandTime2)
的代码,那么result
值应该是“false”。但它给了我“真实”的感觉。我可以知道原因吗?如果有任何方法可以得到确切的差异,请告诉我
# 1 楼答案
为了好玩,我在Joda-Time2.3中尝试了这个。果然,7之后是8
至于“完全不同”,你想要什么样的形式?几秒钟?毫秒?小时、分钟和秒?在下面的代码示例中,我使用Joda Time中的Period类以“PnYnMnDTnHnMnS”格式呈现标准ISO 8601 "duration"
转储到控制台
跑步时
# 2 楼答案
Class : java.util.Date
测试此日期是否在指定日期之后。
返回:
true
当且仅当此日期对象表示的时刻严格晚于when表示的时刻^否则所以7点后8点是肯定的
# 3 楼答案
正如评论所说,第一个
Date
在第二个Date
之后,这就是调用DateandTime1.after(DateandTime2)
返回true
的原因至于你的第二个问题,你可以通过这样做得到两次约会的确切区别
这将以毫秒为单位返回差值。如果要将其转换为另一个时间度量,可以使用
TimeUnit
枚举。例如: