我正在尝试仅从java.util.date
. 我知道我可以将时间设置为 0,但如果可能的话,我正在寻找一种更简洁、更简洁的方式。这存在吗?
谢谢!Krt_马耳他
我正在尝试仅从java.util.date
. 我知道我可以将时间设置为 0,但如果可能的话,我正在寻找一种更简洁、更简洁的方式。这存在吗?
谢谢!Krt_马耳他
另一种选择是库中的truncate
方法DateUtils
。您输入您感兴趣的日期和字段(在本例中CALENDAR.DAY_OF_MONTH
)。其余的将设置为 0。实际上:
DateUtils.truncate(Calendar.getInstance(), Calendar.DAY_OF_MONTH).getTime()
做了这项工作。
更简洁的方法是使用Joda Time开始,其中有 LocalDate、LocalTime、LocalDateTime、DateTime、Instant 等单独的概念。
您可以在 java.util.Date 和 Joda 类型之间进行转换,但我建议您尽可能多地使用 Joda 来编写代码,并且仅在您真正需要时才进行转换。
抱歉,如果您希望避免使用额外的库 - 但 Joda比内置 API好得多,值得为 IMO 付出努力。请注意,在 Java 类型中,您需要确定您感兴趣的时区 - java.util.Date 定义了一个瞬间,根据您的时区,该时间可能发生在世界各地多达三个不同的日期.