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