python 下字符串格式時間比較


python 下有多個有關時間的模塊,分別是time、datetime、calendar,今天重點討論下time寫法。

其中time模塊,主要有以下方法:

ltime=time.time() 獲取當前系統時間,返回float型數值時間戳(當前時間相對於1970.1.1 00:00:00以秒計算的偏移量);

localtime=time.localtime(ltime) 把float型時間戳轉變成當前時區struct time型時間(其實是一個數組);

localtime=time.gmtime(ltime) 把float型時間戳轉變成UTC時區struct time型時間(其實是一個數組);

ltime= time.mktime(localtime)  把str uct time轉成float型時間戳。

 

strtime= time.strftime('%Y%m%d %H%M%S', localtime) ,localtime參數是struct time時間,返回字符串。

localtime=time.strptime(strtime,'%Y%m%d %H%M%S') ,正好是strftime的反向操作,strtime參數字符串格式日期。

 

舉例,一個時間偏移后的比較情況:

 1 #-*-coding=utf-8-*-
 2 __author__='zhongtang'
 3 
 4 '''
 5 時間戳與字符串的互相轉換
 6 '''
 7 
 8 import time
 9 
10 localtime1=time.localtime()
11 time.sleep(5)
12 localtime2=time.localtime(time.time())
13 
14 print type(localtime1),localtime1
15 print type(localtime2),localtime2
16 
17 gmtime=time.gmtime(time.time())
18 print  type(gmtime),gmtime
19 
20 
21 strtime1='20160518010101'
22 strtime2='20160518020101'
23 
24 #字符串變成時間數據結構
25 localtime1=time.strptime(strtime1,'%Y%m%d%H%M%S')
26 localtime2=time.strptime(strtime2,'%Y%m%d%H%M%S')
27 
28 print type(localtime1),localtime1
29 print type(localtime2),localtime2
30 
31 
32 #從時間數據結構轉換成時間戳
33 time1= time.mktime(localtime1)
34 time2= time.mktime(localtime2)
35 
36 print type(time1),time1
37 print type(time2),time2
38 
39 #時間戳可以直接相減,得到以秒為單位的差額
40 print time2-time1

 

 

輸出結果

1 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=9, tm_sec=30, tm_wday=3, tm_yday=140, tm_isdst=0)
2 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=9, tm_min=9, tm_sec=35, tm_wday=3, tm_yday=140, tm_isdst=0)
3 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=19, tm_hour=1, tm_min=9, tm_sec=35, tm_wday=3, tm_yday=140, tm_isdst=0)
4 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=18, tm_hour=1, tm_min=1, tm_sec=1, tm_wday=2, tm_yday=139, tm_isdst=-1)
5 <type 'time.struct_time'> time.struct_time(tm_year=2016, tm_mon=5, tm_mday=18, tm_hour=2, tm_min=1, tm_sec=1, tm_wday=2, tm_yday=139, tm_isdst=-1)
6 <type 'float'> 1463504461.0
7 <type 'float'> 1463508061.0
8 3600.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM