2013-04-24 72 views
4

我想知道如何將日期時間Wed Apr 24 19:25:06 2013 GMT轉換成Linux時間戳1366831506000(13位數)]和反向使用python。python linux時間戳到日期時間和反向

例如:

Wed Apr 24 19:25:06 2013 GMT 

1366831506000 

和從

1366831506000 

Wed Apr 24 19:25:06 2013 GMT 

回答

10

星期五om字符串到時間戳,使用time.strptime(),將得到的struct_time元組傳遞給time.mktime();你戳使用毫秒,而不是UNIX秒,作爲浮點值,所以你需要通過1000乘以:

import time 

datestr = "Wed Apr 24 19:25:06 2013 GMT" 
time.mktime(time.strptime(datestr, "%a %b %d %H:%M:%S %Y %Z")) * 1000 

在另一個方向上,使用time.strptime(),傳遞由time.gmtime()創建struct_time元組,將時間戳由1000第一:

timestamp = 1366831506000 
time.strftime("%a %d %b %Y %H:%M:%S GMT", time.gmtime(timestamp/1000.0)) 

演示:

>>> datestr = "Wed Apr 24 19:25:06 2013 GMT" 
>>> time.mktime(time.strptime(datestr, "%a %b %d %H:%M:%S %Y %Z")) * 1000 
1366827906000.0 
>>> timestamp = 1366831506000 
>>> time.strftime("%a %d %b %Y %H:%M:%S GMT", time.gmtime(timestamp/1000.0)) 
'Wed 24 Apr 2013 19:25:06 GMT' 
+0

非常感謝你爲你的幫助Martijn彼得 – 2013-04-25 07:55:03

+0

嗨,我真的很抱歉,我不清楚我的問題之前,我想轉換'datestr =「Wed Apr 24 19:25:06 2013 +7200」'[+7200 =格林尼治標準時間+2(歐洲/柏林時區)]到Linux時間戳,但這不適用於您在 – 2013-04-25 09:37:45

+0

上面提供的演示@sanjayanravi:不,處理時區需要外部庫。使用['python-dateutil'](https://pypi.python.org/pypi/python-dateutil)。 – 2013-04-25 09:39:25