我有以下格式時間戳:蟒蛇轉換日期和時間進入Linux timestmap
2011 February 2nd 13h 27min 21s
110202 132721
我想110202 132721轉換成對應的Linux時間戳:1296682041
有什麼快速有效的方式來做到這一點?
我有以下格式時間戳:蟒蛇轉換日期和時間進入Linux timestmap
2011 February 2nd 13h 27min 21s
110202 132721
我想110202 132721轉換成對應的Linux時間戳:1296682041
有什麼快速有效的方式來做到這一點?
喜歡的東西
>>> s = "110202 132721"
>>> print time.mktime(time.strptime(s, "%y%m%d %H%M%S"))
1296653241.0
這個解釋的時間爲本地時間之前分析的日期和時間,並把它放入對象(當前的時間區)。
沒有您的時區信息,這不是「對應的」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
要創建一個Unix時間戳,使用time.mktime(t)
功能。它需要一個time.struct_time
對象。
可以查看對象定義here。所以你只要物品轉交到mktime()
功能
謝謝,正是我需要的 – imbaer 2011-05-11 11:36:02
格式字符串中的'y'應該是大寫'Y' – AYBABTU 2013-06-20 15:09:25
@AYBABTU:大寫'Y'將表示四位數的年份。由於字符串's'包含兩位數年份,因此我們必須在這裏使用小寫字母'y'。請參閱http://ideone.com/uv1jR6 - 第一個「print」工作,第二個拋出異常。 – 2013-06-20 17:10:49