如何设置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
但这似乎有点繁琐。我如何设置最大值?
答
是的,使用JodaTime的DateMidnight类,正如其他人所建议的那样。
或者,如果你不能切换到JodaTime,使用DateUtils.truncate(Date, field)
和Commons Lang的DateUtils.addXyz()
方法:
Date lastMidnight = DateUtils.truncate(new Date(), Calendar.DATE);
Date endOfToday = DateUtils.addMilliseconds(
DateUtils.addDays(lastMidnight, 1), -1);
这比标准的API,更好http://joda-time.sourceforge.net/ – NimChimpsky
乔达时间有一个类http://joda-time.sourceforge.net/apidocs/org/joda/time/DateMidnight.html,这是午夜的整整一天。 –
删除了我的答案,因为我误解了问题对不起 – Steve