使用joda-time添加几个月到几天

时间:2013-12-16 19:24:44

标签: java jodatime

我需要创建一个需要几天和几个月的方法,添加两个,然后返回结果天数。

public int addMonthsToDays(int months, int days);//interface

我想使用joda DateTime,但没有办法获得总天数。以下是一个示例实现:

public int addMonthsToDays(int months, int days){
    DateTime dateTime = new DateTime().plusDays(days).plusMonths(months);
  return // what do I return?
}

附加说明

我知道有些人会误读上述内容并提出一些问题,所以在预料之中:

  • 我想要从今天起的天数,而不是从1970年1月1日起
  • 我不必使用DateTime,实现正是我所尝试的。
  • 目标是实施界面public int addMonthsToDays(int months, int days)并从今天起返回新的天数。
  • 我很乐意回答其他问题

1 个答案:

答案 0 :(得分:5)

问题是你正在使用日期,但实际上需要几天。您可以做的是为今天创建一个新的DateTime,为您添加的日/月创建一个不同的DateTime,然后计算天数的差异。

在joda-time中说话:

Days.between(startDate, endDate);

完整(未经测试)的示例看起来像

public int addMonthsToDays(int months, int days){
  DateTime startDate = new DateTime();
  DateTime endDate = new DateTime().plusDays(days).plusMonths(months);
  return Days.between(startDate,endDate);
}