python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。
python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。
時間間隔是以秒為單位的浮點小數。
每個時間戳都以自從2023年1月1日午夜(曆元)經過了多長時間來表示。
python 的 time 模組下有很多函式可以轉換常見日期格式。如函式time.time()用於獲取當前時間戳, 如下例項:
#!/usr/bin/python3
import time; # 引入time模組
ticks = time.time()
print ("當前時間戳為:", ticks)
以上例項輸出結果:
時間戳單位最適於做日期運算。但是2023年之前的日期就無法以此表示了。太遙遠的日期也不行,unix和windows只支援到2023年。當前時間戳為: 1459996086.7115328
# 計時
import time
start_time = time.time()
print('training took %fs!' % (time.time() - start_time))
單位是ms
序號字段值0
4位數年
20081月
1 到 122日
1到313小時
0到234分鐘
0到595秒
0到61 (60或61 是閏秒)
6一周的第幾日
0到6 (0是周一)
7一年的第幾日
1到366 (儒略曆)
8夏令時
-1, 0, 1, -1是決定是否為夏令時的旗幟
上述也就是struct_time元組。這種結構具有如下屬性:
序號屬性值0
tm_year
2008
1tm_mon
1 到 12
2tm_mday
1 到 31
3tm_hour
0 到 23
4tm_min
0 到 59
5tm_sec
0 到 61 (60或61 是閏秒)
6tm_wday
0到6 (0是周一)
7tm_yday
一年中的第幾天,1 到 366
8tm_isdst
是否為夏令時,值有:1(夏令時)、0(不是夏令時)、-1(未知),預設 -1
從返回浮點數的時間戳方式向時間元組轉換,只要將浮點數傳遞給如localtime之類的函式。
#!/usr/bin/python3
import time
localtime = time.localtime(time.time())
print ("本地時間為 :", localtime)
以上例項輸出結果:
你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函式是asctime():本地時間為 : time.struct_time(tm_year=2016, tm_mon=4, tm_mday=7, tm_hour=10, tm_min=28, tm_sec=49, tm_wday=3, tm_yday=98, tm_isdst=0)
#!/usr/bin/python3
import time
localtime = time.asctime( time.localtime(time.time()) )
print ("本地時間為 :", localtime)
以上例項輸出結果:
本地時間為 : thu apr 7 10:29:13 2016我們可以使用 time 模組的 strftime 方法來格式化日期,:
time.strftime(format[, t])
#!/usr/bin/python3
import time
# 格式化成2016-03-20 11:45:39形式
print (time.strftime("%y-%m-%d %h:%m:%s", time.localtime()))
# 格式化成sat mar 28 22:24:24 2016形式
print (time.strftime("%a %b %d %h:%m:%s %y", time.localtime()))
# 將格式字串轉換為時間戳
a = "sat mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %h:%m:%s %y")))
以上例項輸出結果:
2016-04-07 10:29:46python中時間日期格式化符號:thu apr 07 10:29:46 2016
1459175064.0
calendar模組有很廣泛的方法用來處理年曆和月曆,例如列印某月的月曆:
#!/usr/bin/python3
import calendar
cal = calendar.month(2016, 1)
print ("以下輸出2023年1月份的日曆:")
print (cal)
以上例項輸出結果:
以下輸出2023年1月份的日曆:參考:january 2016
mo tu we th fr sa su
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
1026 程式執行時間 python3
坑1 python的四捨五入函式round 給定的測試用例無法除錯成功。原因 跟浮點數的精度有關。機器中浮點數不一定能精確表達,因為換算成一串1和0後可能是無限位數的,機器已經做出了截斷處理,如圖所示58.5期望輸出是59 解決 乙個自定義的四捨五入的函式berounding 坑2 存在測試結果是部...
python記錄程式執行時間
方法1 import datetime starttime datetime.datetime.now long running endtime datetime.datetime.now print endtime starttime seconds 方法 2 start time.time ru...
巨集 記錄程式執行時間
經常遇到一些情況,需要計算 執行的效率,所以要進行多次迴圈得到,用得多了,就發現把這段 封裝起來很合適,且很實用。如下 cctime.h c common codes created by xichen on 12 2 18.ifndef cc time h define cc time h inc...