【发布时间】:2014-04-16 08:00:04
【问题描述】:
我想知道接下来三周的最后一天。
例如,如果今天是 4 月 16 日星期三,我会得到 5 月 4 日星期日的结果。
我写过这样的函数
public static Date nexThreeWeekEnd() {
Date now = new Date();
Date nextWeeks = DateUtils.truncate(DateUtils.addWeeks(now, 3), Calendar.DATE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(nextWeeks);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DAY_OF_WEEK));
return calendar.getTime();
}
从这个库中使用 DateUtils:
org.apache.commons.lang.time.DateUtils;
但此函数将返回 5 月 7 日星期三,这意味着它将准确返回当前日期。
没有必要重写我的函数。解决我的问题的任何其他方法都将非常受欢迎。 谢谢。
【问题讨论】:
-
我已经编辑了我的问题并添加了库,谢谢:D
-
在您给出的示例中,您指定了两到三周,它应该从星期日返回三周还是两周?
-
问题自相矛盾。你的第一句话说三周后,但你的第二句话的例子 2014-05-04 只是两周后。