如何设置java.util.Date的最小或最大时间值?

时间:2011-09-08 08:39:40

标签: java date

我想将java.util.Date - Objekt设置为日期(一天)的最小或最大时间值。 我目前的方式(至少):

Calendar cal = Calendar.getInstance();
cal.setTime(aDate);
cal.set(Calendar.HOUR, 0);
//... same for minutes, seconds, milliseconds

但这看起来有点麻烦。我该如何设置最大值?

1 个答案:

答案 0 :(得分:2)

是的,使用JodaTime的DateMidnight类,正如其他人所建议的那样。

或者,如果您无法切换到JodaTime,请使用DateUtils.truncate(Date, field)中的Commons LangDateUtils.addXyz()方法:

Date lastMidnight = DateUtils.truncate(new Date(), Calendar.DATE);
Date endOfToday = DateUtils.addMilliseconds(
                      DateUtils.addDays(lastMidnight, 1), -1);