UTC時間與UNIX時間戳之間的轉換使用date命令:linux
將當前系統時間轉換爲UNIX時間戳ide
? BASH 1
2 $date +%s
1263236513函數
+%s是date的格式控制,上面命令的意思其實就是將當前系統時間以UNIX時間戳的形式輸出。
若是要將任意UTC時間轉換爲UNIX時間戳的話:ui
? BASH 1
2 $date -d '2010-01-12 utc' +%s
1263254400spa
相反的若是要將UNIX時間戳轉換爲UTC時間則是:.net
? BASH 1
2 $date -d '1970-01-01 utc 1263236311 seconds' +%Y-%m-%d-%H:%M:%S
2010-01-12-02:58:31unix
由此能夠看出linux下的date命令仍是十分強大的,更詳細的介紹參看info date.code
使用Python:orm
將當前系統時間轉換爲UNIX時間戳對象
? PYTHON 1
2
3 >>> import time
>>> time.time()
1263239477.4449849
若是要將任意UTC時間轉換爲UNIX時間戳的話:
? PYTHON 1
2
3
4
5
6
7
8
9 >>> import time
>>> time.time()
1263239477.4449849
>>> import datetime
>>> d1 = datetime.datetime(2010,1,12,2,28,01)
>>> t1 = time.mktime(d1.timetuple())
>>> print t1
1263234481.0
>>> d2 = time.localtime(t1)
mktime()函數是將time對象轉爲一個浮點數(即UNIX時間戳)。能夠用localtime()再將浮點數轉換
爲time對象。
相反的若是要將UNIX時間戳轉換爲UTC時間則使用的是time.localtime()函數。
還有一個頗有用的函數就是 time.strptime(string[,format]):
用來從一個字符串中按照必定的格式提取出一個struct_time,例如:
? PYTHON 1
2
3 >>> import time
>>> time.strptime("2010-1-12", "%Y-%m-%d")
time.struct_time(tm_year=2010, tm_mon=1, tm_mday=12, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=12, tm_isdst=-1)
其中的format轉意符跟date命令中的相同,以下:
format轉義符對應意義以下
%a 本地簡化星期名稱
%A 本地完整星期名稱
%b 本地簡化的月份名稱
%B 本地完整的月份名稱
%c 本地相應的日期表示和時間表示
%d 月內中的一天(0-31)
%H 24小時制小時數(0-23)
%I 12小時制小時數(01-12)
%j 年內的一天(001-366)#hi.baidu.com/muinlive
%m 月份(01-12)
%M 分鐘數(00=59)
%p 本地A.M.或P.M.的等價符
%S 秒(00-59)
%U 一年中的星期數(00-53)星期天爲星期的開始
%w 星期(0-6),星期天爲星期的開始
%W 一年中的星期數(00-53)星期一爲星期的開始
%x 本地相應的日期表示
%X 本地相應的時間表示
%y 兩位數的年份表示(00-99)
%Y 四位數的年份表示(000-9999)
%Z 當前時區的名稱
%% %號自己