2015-07-28 170 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); 
} 

試試這個你可以保持秒可選這裏

相關問題