#!/usr/bin/python3 import time; # 引入time模塊 #Python3 日期和時間 # 當前時間戳 ticks = time.time() print ("當前時間戳為:", ticks) #當前時間戳為: 1522024006.313911 # 完全版本地時間 localtime = time.localtime(time.time()) print ("本地時間為 :", localtime) #輸出 本地時間為 : time.struct_time(tm_year=2018, tm_mon=3, tm_mday=26, tm_hour=0, tm_min=26, tm_sec=46, tm_wday=0, tm_yday=85, tm_isdst=0) # 簡單本地時間 localtime = time.asctime( time.localtime(time.time()) ) print ("本地時間為 :", localtime) #輸出 本地時間為 : Mon Mar 26 00:26:46 2018 # 格式化日期 # 使用 time 模塊的 strftime 方法來格式化日期 # 格式化成2016-03-20 11:45:39形式 print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #輸出 2018-03-26 00:32:09 # 格式化成Sat Mar 28 22:24:24 2016形式 print (time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())) #輸出 Mon Mar 26 00:32:09 2018 # 將格式字符串轉換為時間戳 a = "Sat Mar 28 22:24:24 2016" print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))) #輸出 1459203864.0 #獲取某月日歷 import calendar cal = calendar.month(2016, 1) print ("以下輸出2016年1月份的日歷:") print (cal) # print ("time.ctime() : %s" % time.ctime()) #進階4 time.clock() 浮點數計算的秒數返回當前的CPU時間 #在第一次調用的時候,返回的是程序運行的實際時間; #以第二次之后的調用,返回的是自第一次調用后,到這次調用的時間間隔 #計算程序運行間隔 t0 = time.clock() print(t0) time.sleep(2.5) print(time.clock()- t0) t0 = time.time() time.sleep(2.5) print (time.time() - t0) # 時間元組->時間戳 time.strftime(fmt[,tupletime]) # time.ctime() asctime(localtime(secs)),未給參數相當於asctime() print (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) struct_time = time.strptime("30 Nov 00", "%d %b %y") # 時間戳->格林威治時間元組 time.gmtime([secs]) (格林威治天文時間下的時間元組) print ("gmtime :", time.gmtime(1455508609.34375)) #輸出 gmtime : time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0) # 時間戳->當地時間元組 time.localtime([secs] print ("localtime(): ", time.localtime(1455508609.34375)) #輸出 localtime(): time.struct_time(tm_year=2016, tm_mon=2, tm_mday=15, tm_hour=3, tm_min=56, tm_sec=49, tm_wday=0, tm_yday=46, tm_isdst=0) # time.mktime #執行與gmtime(), localtime()相反的操作 t = (2016, 2, 17, 17, 3, 38, 1, 48, 0) secs = time.mktime( t ) print ("time.mktime(t) : %f" % secs) print ("asctime(localtime(secs)): %s" % time.asctime(time.localtime(secs))) #輸出 time.mktime(t) : 1455699818.000000 #輸出 asctime(localtime(secs)): Wed Feb 17 17:03:38 2016 # 時間字符串轉化為元組 ime.strptime(str,fmt='%a %b %d %H:%M:%S %Y') struct_time = time.strptime("30 Nov 00", "%d %b %y") print ("返回元組: ", struct_time) #返回元組: time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1) # 推遲調用線程的運行,time.sleep(secs) secs指秒數 print ("Start : %s" % time.ctime()) time.sleep( 5 ) print ("End : %s" % time.ctime()) #輸出 Start : Mon Mar 26 01:21:18 2018 #輸出 Mon Mar 26 01:21:23 2018
python中時間日期格式化符號:
- %y 兩位數的年份表示(00-99)
- %Y 四位數的年份表示(000-9999)
- %m 月份(01-12)
- %d 月內中的一天(0-31)
- %H 24小時制小時數(0-23)
- %I 12小時制小時數(01-12)
- %M 分鍾數(00=59)
- %S 秒(00-59)
- %a 本地簡化星期名稱
- %A 本地完整星期名稱
- %b 本地簡化的月份名稱
- %B 本地完整的月份名稱
- %c 本地相應的日期表示和時間表示
- %j 年內的一天(001-366)
- %p 本地A.M.或P.M.的等價符
- %U 一年中的星期數(00-53)星期天為星期的開始
- %w 星期(0-6),星期天為星期的開始
- %W 一年中的星期數(00-53)星期一為星期的開始
- %x 本地相應的日期表示
- %X 本地相應的時間表示
- %Z 當前時區的名稱
- %% %號本身