python3 記錄程式執行時間

2021-10-01 02:30:48 字數 2992 閱讀 5101

python 程式能用很多方式處理日期和時間,轉換日期格式是乙個常見的功能。

python 提供了乙個 time 和 calendar 模組可以用於格式化日期和時間。

時間間隔是以秒為單位的浮點小數。

每個時間戳都以自從2023年1月1日午夜(曆元)經過了多長時間來表示。

python 的 time 模組下有很多函式可以轉換常見日期格式。如函式time.time()用於獲取當前時間戳, 如下例項:

#!/usr/bin/python3

import time; # 引入time模組

ticks = time.time()

print ("當前時間戳為:", ticks)

以上例項輸出結果:

當前時間戳為: 1459996086.7115328
時間戳單位最適於做日期運算。但是2023年之前的日期就無法以此表示了。太遙遠的日期也不行,unix和windows只支援到2023年。

# 計時

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)

以上例項輸出結果:

本地時間為 : 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)
你可以根據需求選取各種格式,但是最簡單的獲取可讀的時間模式的函式是asctime():

#!/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:46

thu apr 07 10:29:46 2016

1459175064.0

python中時間日期格式化符號:

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...