2015-07-28 164 views
3

我试图将unix毫秒转换为gmt日期,我只需要几小时和几分钟,但根据在线转换器的结果不正确。如何从Unix纪元时间毫秒获取GMT日期?

我需要什么

enter image description here

这里是我的代码:

public static void main(String[] args) { 
    long time = 1438050023; 
    // TimeZone timeZone = TimeZone.getTimeZone("UTC"); 
    Calendar calendar = Calendar.getInstance(); 

    calendar.setTimeInMillis(time/1000); 

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("hh:mm:ss dd MM yyyy"); 
    simpleDateFormat.setTimeZone(calendar.getTimeZone()); 

    System.out.println(simpleDateFormat.format(calendar.getTime())); 
} 

结果:

03:23:58 01 01 1970 
+0

在Java中,时间以毫秒为单位,而不是秒。 –

回答

4

变化calendar.setTimeInMillis(time/1000)calendar.setTimeInMillis(time * 1000)

毫秒数是秒数的1000倍;不是数字的1/1000。

+0

哦,天哪,多么愚蠢的错误,我怎么看不到。谢谢! –

1
public static String ConvertMillistoDatetime(long millis) { 
    long second = (millis/1000) % 60; 
    long minute = (millis/(1000 * 60)) % 60; 
    long hour = (millis/(1000 * 60 * 60)) % 24; 

    return String.format("%02d:%02d:%02d", hour, minute, second); 
} 

试试这个你可以保持秒可选这里

相关问题