我正在尝试仅从java.util.date
检索日期。我知道我可以将时间设置为0,但如果可能的话,我正在寻找更清洁,更简洁的方法。这是否存在?
谢谢! Krt_Malta
答案 0 :(得分:0)
更简洁的方法是使用Joda Time开始,其中有LocalDate,LocalTime,LocalDateTime,DateTime,Instant等单独的概念。
你可以在java.util.Date和Joda类型之间进行转换,但我建议你尽可能多地使用Joda代码,并且只在你真正需要时翻译到。
很抱歉,如果您希望避免使用额外的库 - 但Joda 比内置API好得多,那么值得投资IMO。请注意,在Java类型中,您需要确定您感兴趣的时区 - java.util.Date定义了一个及时的瞬间,根据您的时区,可能会在全球多达三个不同的日期发生
答案 1 :(得分:0)
另一个选项是truncate
库中的DateUtils
方法。您输入了您感兴趣的日期和字段(在本例中为CALENDAR.DAY_OF_MONTH
)。其余的将设置为0.有效:
DateUtils.truncate(Calendar.getInstance(), Calendar.DAY_OF_MONTH).getTime()
完成了这项工作。
有关该方法的详细信息,请访问:http://commons.apache.org/lang/api-2.4/org/apache/commons/lang/time/DateUtils.html#truncate%28java.lang.Object,%20int%29