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

标签 java date

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

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);

关于java - 如何设置 java.util.Date 的最小或最大时间值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7345340/

相关文章:

C struct tm 中的变量消失

c# - 如何从 SQL 开放时间数据库查找接下来 (n) 个开放日

java - Apache Kafka Java 生产者 Scala 消费者缺少流

java - 将 byte[] 缓冲区重置为零?

java - Avro 1.9.0 无法编译生成的 java 代码,错误消息为 : cannot find symbol method customEncode(org. apache.avro.io.Encoder)

javascript - 如何编辑此表过滤器脚本以通过预定义的搜索字符串获取结果?

java - java中的setIconImage不工作

java - 在 Java 的局部范围内使用非最终局部变量

PHP 将日期转换为消息,例如 Yesterday at 2 :00pm - Reverse strtotime

每个星期五工作的php脚本