gpt4 book ai didi

java - Java 中的今天过期日期

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:27 25 4
gpt4 key购买 nike

我需要检查给定日期是否在今天 23:59:59 之后,如何创建今天 23:59:59 的日期对象?

最佳答案

使用java.util.Calendar :

Calendar cal = Calendar.getInstance(); // represents right now, i.e. today's date
cal.set(Calendar.HOUR_OF_DAY, 23);
cal.set(Calendar.MINUTE, 59);
cal.set(Calendar.SECOND, 59);
cal.set(Calendar.MILLISECOND, 999); // credit to f1sh

Date date = cal.getTime();

不过,我认为您可能从稍微错误的角度来处理这个问题。与其尝试创建午夜之前一个原子的 Date 实例,更好的方法可能是创建表示午夜的 Date 并测试当前时间是否严格小于它。我相信,就您对其他阅读代码的意图而言,这会稍微清楚一些。


或者,您可以使用知道如何转换回日期的第三方日期 API。 Java 的内置日期 API 通常被认为在许多方面存在缺陷。我不建议仅使用另一个库来执行此操作,但如果您必须进行大量日期操作和/或已经在使用像 Joda Time 这样的库你可以更简单地表达这个概念。例如,Joda Time 有一个 DateMidnight 类,可以更轻松地与您正在执行的类型的“原始”日期进行比较,而不会出现微妙的问题(比如在我的第一次剪辑中没有设置毫秒).

关于java - Java 中的今天过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com