如何找到两个 Joda-Time DateTime
实例之间的天数差异?对于“天数差异”,我的意思是如果开始时间是星期一,结束时间是星期二,我希望返回值为 1,而不管开始日期和结束日期的小时/分钟/秒。
Days.daysBetween(start, end).getDays()
如果晚上开始,早上结束,则给我 0。
我对其他日期字段也有同样的问题,所以我希望有一种通用的方法来“忽略”不太重要的字段。
换句话说,2 月到 3 月 4 日之间的月份也将是 1,14:45 到 15:12 之间的时间也是 1。但是 14:01 和 14:55 之间的时差将为 0。
原文由 pvgoddijn 发布,翻译遵循 CC BY-SA 4.0 许可协议
恼人的是,withTimeAtStartOfDay 的答案是错误的,但只是偶尔出现。你要:
事实证明,“午夜/一天的开始”有时意味着凌晨 1 点(夏令时在某些地方以这种方式发生),Days.daysBetween 无法正确处理。
通过
LocalDate
回避了整个问题。