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

发布于 2024-12-03 07:17:04 字数 251 浏览 0 评论 0原文

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

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

但这似乎有点麻烦。以及如何设置最大值?

I'd like set a java.util.Date-Objekt to its minimum or maximum time values for a Date (one day).
The way I do it currently (for minimum):

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

But this seems a little bit cumbersome. And how do I set the maximum?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放低过去 2024-12-10 07:17:04

是的,正如其他人所建议的那样,使用 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);

Yeah, use JodaTime's DateMidnight class, as others have suggested.

Or if you can't switch to JodaTime, use DateUtils.truncate(Date, field) and the DateUtils.addXyz() methods from Commons Lang:

Date lastMidnight = DateUtils.truncate(new Date(), Calendar.DATE);
Date endOfToday = DateUtils.addMilliseconds(
                      DateUtils.addDays(lastMidnight, 1), -1);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文