只想从纪元开始约会

时间:2011-06-29 22:15:11

标签: java

鉴于epoch以来的millis,我想要一个填充了Month,Date,Year字段的实例,并将小时分秒设置为某些默认值。

有效的方法是什么?

我知道有sql方法可以做到但是有没有办法在Java中实现呢?

3 个答案:

答案 0 :(得分:3)

只需使用:

new Calendar(new Date(msSinceEpoch));

其中ms是一个长值。

答案 1 :(得分:1)

在Joda-Time API中使用LocalDateDateMidnight。差异在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);