0

我有一个长值,表示自当天午夜起以毫秒为单位的时间。即 00:00:01 将是 1000。

我想将其转换为自纪元以来的长时间戳 - 使用当前系统的日、月、年。最好的方法是什么?

4

2 回答 2

1
    final Calendar instance = Calendar.getInstance();
    instance.set(Calendar.HOUR, 0);
    instance.set(Calendar.MINUTE, 0);
    instance.set(Calendar.SECOND, 0);
    instance.set(Calendar.MILLISECOND, 0);
    long result = instance.getTimeInMillis() + yourTime;

另请注意,Calendar#getInstance 执行以下操作:

Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault());

结果时间将根据默认设置的 TimeZone 更改(是的,它可以更改!)。看到这篇文章:java Timezone setDefault effects

于 2013-01-22T09:58:13.330 回答
0

试试这个:

Date date = new Date(your_long_value);
于 2013-01-22T10:17:17.890 回答