0

我想添加 1 个月至今,但它只添加了 4 周。

我试过这样

2012-05-04 + DateTimeUtilities.ONEMONTH  = 2012-05-31

我得到的结果是 2012-05-31

我想添加一个完整的月份(30 天或 31 天,或者当月份是闰年 29 或 28 时)。

4

1 回答 1

3

尝试将您的时间转换为日历对象,然后增加月份字段:

Calendar cal = Calendar.getInstance();
cal.setTime(new Date(timeInMillis));
cal.set(Calendar.MONTH, cal.get(Calendar.MONTH)+1);
long newTimeInMillis = cal.getTime().getTime();

您可能需要检查从 12 月到 1 月的溢出并增加年份。

API 文档确认 DateTimeUtilities.ONEMONTH 是四个星期,所以你得到的是你应该期待的。

于 2012-06-02T12:28:26.913 回答