如何通过Period类计算两个日期的差?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过Period类计算两个日期的差?相关的知识,希望对你有一定的参考价值。

我有两个约会:

LocalDateTime start = LocalDateTime.of(2014,2,19,12,02,41,112);
LocalDateTime end = LocalDateTime.of(2014,2,19,12,05,58,146);

并且我需要获得startend之间的两个区别。

所以,我应该收到:3:17.034(3分钟,17秒和34毫秒)。

是否可以通过类Period来计算差异?

我很困惑,因为当我尝试计算它时:

[Period period=Period.between(start.toLocalDate(),end.toLocalDate());我收到了P0D,也许我应该解密它。。

答案

使用Joda-Time库

DateTime startTime, endTime;
Period p = new Period(startTime, endTime);
long hours = p.getHours();
long minutes = p.getMinutes();

Joda Time有时间间隔的概念:

Interval interval = new Interval(oldTime, new Instant());

另一个示例日期差

另一个链接

或使用Java-8(集成了Joda-Time概念)

Instant start, end;//
Duration dur = Duration.between(start, stop);
long hours = dur.toHours();
long minutes = dur.toMinutes();

以上是关于如何通过Period类计算两个日期的差?的主要内容,如果未能解决你的问题,请参考以下文章

excel 日期格式为 "yyyymmdd hhmm" 如何计算两个时间的差?

请问mysql的sql中如何计算两个datetime的差,精确到小时,谢谢

Oracle中计算两个日期时间的差

如何在以下示例中计算出日差

delphi TDateTime类,如何计算两个时间的差?

第十三天下(日期Data,SimpleDateFormat,LocalDateTime,计算年月日Period,计算时分秒Duration,异常两种处理方式,Throwable,自定义异常)