我需要创建一个需要几天和几个月的方法,添加两个,然后返回结果天数.
public int addMonthsToDays(int months, int days);//interface
Run Code Online (Sandbox Code Playgroud)
我想使用joda DateTime,但没有办法获得总天数.这是一个示例实现:
public int addMonthsToDays(int months, int days){
DateTime dateTime = new DateTime().plusDays(days).plusMonths(months);
return // what do I return?
}
Run Code Online (Sandbox Code Playgroud)
附加说明
我知道有些人会误解上述内容并提出一些问题,所以在预料之中:
public int addMonthsToDays(int months, int days)并从今天起返回新的天数.问题是你正在使用日期,但实际上需要几天.您可以做的是为今天制作一个新的DateTime,并为您添加的日/月提供另一个DateTime,然后计算天数的差异.
在joda-time中说:
Days.between(startDate, endDate);
Run Code Online (Sandbox Code Playgroud)
完整(未经测试)的例子看起来像
public int addMonthsToDays(int months, int days){
DateTime startDate = new DateTime();
DateTime endDate = new DateTime().plusDays(days).plusMonths(months);
return Days.between(startDate,endDate);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1512 次 |
| 最近记录: |