joda-time给定日期时间,获取下一次日期时间?

时间:2018-03-22 12:00:02

标签: java jodatime

对于给定的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);
  }
}

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);