Java:将长时间转换为时间戳

时间:2013-01-22 09:48:43

标签: java time timestamp long-integer milliseconds

我有一个很长的值,表示从那天午夜起的一天中的时间。即00:00:01将是1000。

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

2 个答案:

答案 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);