2016-11-22 79 views
0
爲timestamp

我知道這是可能的納秒在Java中轉換爲這樣的時間戳:轉換納秒在Python

import java.util.Date; 
public class DateDemo { 

    public static void main(String args[]) { 
    // Instantiate a Date object 

    long i = 1462352019029395103L; 
    // display time and date using toString() 
    Date date = new Date(i/1000000); 

    System.out.println(date.toString()); 
    } 
} 

本作:週三5月4日八時53分39秒UTC 2016

雖然在Python中的輸出是:

>>> from datetime import datetime 
>>> dt = datetime.fromtimestamp(1462352019029395103 // 1000000000) 
>>> s = dt.strftime('%Y-%m-%d %H:%M:%S') 
>>> s 
'2016-05-04 10:53:39' 

python的區別是2小時。我不知道爲什麼。我讀過一些Python無法轉換納秒的文章。有什麼方法可以在python中獲得準確的時間戳嗎?

+0

的區別是UTC和本地時區。 – Daniel

回答

4

使用utcfromtimestamp,使之等同與Java中的日期時間:

>>> dt = datetime.utcfromtimestamp(1462352019029395103 // 1000000000) 
>>> dt.strftime('%Y-%m-%d %H:%M:%S') 
'2016-05-04 08:53:39' 

參考:

Coordinated Universal Time

'