【发布时间】:2012-12-18 17:58:18
【问题描述】:
我需要帮助来获取两个 Java 日期之间的句点。我使用 JodaTime 进行计算,但结果不正确。
开始:11.11.2012 12:00
结束:16.12.2012 20:15
(德国时间标准)
结果必须是 5 周 0 天 8 小时 15 分钟。
我试试
Period period = new Period( start.getTime(), end.getTime() );
weeks = Weeks.weeksBetween( new DateTime( start ), new DateTime( end ) ).getWeeks();
days = period.getDays();
hours = period.getHours();
minutes = period.getMinutes();
得到了 5w 5d 8h 15m。
编辑:
感谢您的帮助,但我认为我使用 JodaTime Period 错误。当然是 5w 5d 8h 15m 的输出,但我想要的更像这样。
int days = Days.daysBetween( start, end ); // musst be 35 days
int weeks = ( days - ( days % 7 ) ) / 7;
days = days % 7;
现在我的结果是 5 周零 0 天。很抱歉造成混乱,感谢您的帮助。
【问题讨论】:
-
你得到了什么输出?
-
您可能需要
% 7才能获得days。 -
% 7 什么都不做,因为 5 mod 7 = 5 但谢谢你的想法。