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

问题描述:

我想将java.util.Date -Objekt设置为日期(一天)的最小或最大时间值。 我这样做,现在(最小)的方式:如何设置java.util.Date的最小或最大时间值?

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

但这似乎有点繁琐。我如何设置最大值?

+2

这比标准的API,更好http://joda-time.sourceforge.net/ – NimChimpsky

+0

乔达时间有一个类http://joda-time.sourceforge.net/apidocs/org/joda/time/DateMidnight.html,这是午夜的整整一天。 –

+1

删除了我的答案,因为我误解了问题对不起 – Steve

是的,使用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); 
+0

很酷,因为我的班级路径中已经有commons-lang。但是,我将如何设置最大值? – Zeemee

+0

@穆尔莫斯看到我的更新 –

+1

谢谢 - 这是你的复选标记。 – Zeemee