2011-05-11 99 views

回答

3

喜歡的東西

>>> s = "110202 132721" 
>>> print time.mktime(time.strptime(s, "%y%m%d %H%M%S")) 
1296653241.0 

這個解釋的時間爲本地時間之前分析的日期和時間,並把它放入對象(當前的時間區)。

+0

謝謝,正是我需要的 – imbaer 2011-05-11 11:36:02

+0

格式字符串中的'y'應該是大寫'Y' – AYBABTU 2013-06-20 15:09:25

+1

@AYBABTU:大寫'Y'將表示四位數的年份。由於字符串's'包含兩位數年份,因此我們必須在這裏使用小寫字母'y'。請參閱http://ideone.com/uv1jR6 - 第一個「print」工作,第二個拋出異常。 – 2013-06-20 17:10:49

1

沒有您的時區信息,這不是「對應的」unix時間戳。

我已經猜到你可能會設在美國的太平洋沿岸嘗試幾次後,所以你必須在腳本中顯式地定義它:

from datetime import datetime 
import pytz 
import calendar 

a = "110202 132721" 
yourTZ = 'America/Los_Angeles' 

calendar.timegm(pytz.timezone(yourTZ).localize(datetime.strptime(a, '%y%m%d %H%M%S')).utctimetuple()) 

# returns 1296682041 
+0

時區是PST。謝謝。 – imbaer 2011-05-11 11:28:01

+0

@exasam:哪個[PST](http://en.wikipedia.org/wiki/PST)? – 2011-05-11 11:33:34

+0

第一個:)。 – imbaer 2011-05-11 11:40:30

2

要創建一個Unix時間戳,使用time.mktime(t)功能。它需要一個time.struct_time對象。

可以查看對象定義here。所以你只要物品轉交到mktime()功能