我有一个长值,表示自当天午夜起以毫秒为单位的时间。即 00:00:01 将是 1000。
我想将其转换为自纪元以来的长时间戳 - 使用当前系统的日、月、年。最好的方法是什么?
我有一个长值,表示自当天午夜起以毫秒为单位的时间。即 00:00:01 将是 1000。
我想将其转换为自纪元以来的长时间戳 - 使用当前系统的日、月、年。最好的方法是什么?
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
试试这个:
Date date = new Date(your_long_value);