我正在尝试编写一种方法,该方法将采用 aLocalDateTime
和 a DateTime
(使用Joda 1.3)并确定它们是否在 30 分钟内。这是我能想到的最好的方法,但我知道必须有更好/更清洁/更有效的方法:
public boolean isWithin30MinsOfEachOther(LocalDateTime localDateTime, DateTime dateTime) {
return (
localDateTime.getYear() == dateTime.getYear() &&
localDateTime.getMonthOfYear() == dateTime.getMonthOfYear() &&
localDateTime.getDayOfMonth() == dateTime.getDayOfMonth() &&
localDateTime.getHourOfDay() == dateTime.getHourOfDay() &&
Math.abs((localDateTime.getMinuteOfHour() - dateTime.getMinuteOfHour())) <= 30
);
)
更不用说,如果localDateTime
是 2012 年 12 月 31 日 23:58:00 和dateTime
2013 年 1 月 1 日 00:01:00,我认为这不起作用。两个不同月份和日期的开始/结束也是如此。有什么建议么?提前致谢。