鉴于epoch以来的millis,我想要一个填充了Month,Date,Year字段的实例,并将小时分秒设置为某些默认值。
有效的方法是什么?
我知道有sql方法可以做到但是有没有办法在Java中实现呢?
答案 0 :(得分:3)
只需使用:
new Calendar(new Date(msSinceEpoch));
其中ms是一个长值。
答案 1 :(得分:1)
在Joda-Time API中使用LocalDate或DateMidnight。差异在javadocs中解释。
请注意,为了截断特定日历日的某个时间点(自纪元以来有些毫秒),您可能需要指定午夜发生的时间,否则您将在系统的时区结束午夜。例如,您可以调用LocalDate(long,DateTimeZone)构造函数而不是LocalDate(long)构造函数。
答案 2 :(得分:0)
或者,如果您不想拥有JODA依赖项,请使用DateFormat:
Date thisDate = new SimpleDateFormat("yyyy-MMM-dd").parse("2011-Jun-29");
根据javadocs,您可以轻松地从长篇创建日期:
long value = System.currentTimeMillis();
Date thisDate = new Date(value);