从java.util.date获取日期的简明方法

时间:2011-03-08 11:18:01

标签: datetime date java.util.date

我正在尝试仅从java.util.date检索日期。我知道我可以将时间设置为0,但如果可能的话,我正在寻找更清洁,更简洁的方法。这是否存在?

谢谢! Krt_Malta

2 个答案:

答案 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