对于给定的joda-time,例如"2018-03-20 08:00:00"
或"2016-03-20 08:00:00"
,获取下一个出现日期时间的最佳方式是"2019-03-20 08:00:00"
?
我目前的解决方案是:
if(dt.isBeforNow()){
dt = dt.plusYear(now.getYear()-dt.getYear());
if(dt.isBeforNow()){
dt = dt.plusYear(1);
}
}
答案 0 :(得分:0)
我认为这比你的代码更好。但是这个计算可以有更多的解决方案。
DateTime prevDate = new DateTime("2016-03-20 08:00:00");
DateTime nowDate = new DateTime("2018-03-20 08:00:00");
int yearDiff = Days.daysBetween(prevDate,nowDate).getYears();
DateTime nextDate = nowDate.plusYears(yearDiff);