我需要创建一个需要几天和几个月的方法,添加两个,然后返回结果天数。
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?
}
附加说明
我知道有些人会误读上述内容并提出一些问题,所以在预料之中:
public int addMonthsToDays(int months, int days)
并从今天起返回新的天数。答案 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);
}