python處理時間的模塊,time模塊使用方法

python中最常用的三個處理時間的庫:time、datetime、calendar

 

本文主要講解 time 的用法。

 

先上目錄

一、time模塊的作用

二、time模塊表示時間的四種方式

三、四種表示時間的方式之間的轉換圖

四、time模塊一些常用api的用法

 

一、time模塊的作用

時間獲取、表達和轉換。

 

二、time模塊表示時間的四種方式

時間戳(timestamp)的表現形式:

1581838663.752684

 

時間對象(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)

 

默認時間字符串(defaut_time)表示形式:

'Feb 16 2020 07:42:38'

 

自定義時間字符串(format_time)表示形式:

'2020-02-16 17:37:28'

 

接下來,詳細講解這四種時間表示方式

(1)timestamp時間戳表現形式

生成時間戳的例子:

time.time()

 

(2)struct_time時間對象表現形式 

生成時間對象的例子:

time.strptime("30 Nov 00", "%d %b %y") 

 

(3)format_string自定義時間字符串表現形式 

生成自定義時間字符串的例子:

time.strftime('%b %d %Y %H:%M:%S', time.gmtime(time.time()))

 

(4)defaut_string默認時間字符串表現形式 

生成默認時間字符串的例子:

time.asctime()

默認以 %a %b %d %H:%M:%S %Y 形式展示

 

三、四種表示時間的方式之間的轉換圖

format_stringstruct_timetimestamp的互相轉換如下圖所示:

 

defaut_timestruct_timetimestamp的相互轉換如下圖所示:

 

四、time模塊一些常用api的用法

1)time.asctime(t)

說明:

接受時間元組並返回 默認時間字符串(defaut_time)的形式, t 代表元組(下面的內容不再做此說明)

形如:"Sun Jun 20 23:21:05 1993" (1993年6月20日 週日 23時21分05秒)

例子:

 

注意,傳入的時間元組的格式是:

t = (tm_year, tm_mon, tm_mday, 
     tm_hour, tm_min, tm_sec,
     tm_wday, tm_yday, tm_isdst) 

 

以下是參數對照表:

指數

屬性

價值觀

0

tm_year

(例如,1993年)

1

tm_mon

範圍[1,12]

2

tm_mday

範圍[1,31]

3

tm_hour

範圍[0,23]

4

tm_min

範圍[0,59]

5

tm_sec

範圍[0,61]; 見(2)中 strftime()描述

6

tm_wday

範圍[0,6],星期一爲0

7

tm_yday

範圍[1,366]

8

tm_isdst

0、1或-1;見下文

不適用

tm_zone

時區名稱的縮寫

不適用

tm_gmtoff

以秒爲單位偏移UTC以東

 

(2)time.time()

說明:返回當前時間的時間戳(1970紀元後經過的浮點秒數)

例子:

 

 

(3)time.sleep(secs)

說明:推遲調用線程的運行,secs指秒數。

例子:

 

(4)time.ctime(secs)

說明:作用相當於asctime(localtime(secs)),未給參數相當於asctime()

例子:

 

(5)time.localtime([secs]

說明:

不傳入參數的話,返回當前時間的時間對象(struct_time);

傳入時間戳參數的話,返回指定時間時間對象。

例子:

 

(6)time.strftime(format, t) 

說明:

接收以時間對象(struct_time),並返回以自定義字符串所表示的當地時間,格式由 format 決定。

 

例子:

一般習慣格式化成:%Y-%m-%d %H:%M:%S

 

拓展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 當前時區的名稱

%% %號本身


(7)time.strptime(string, format)

說明:根據 format 的格式把一個時間字符串解析爲時間元組。

例子:

 

(8)time.mktime(string, format)

說明:接受時間對象並返回時間戳(1970紀元後經過的浮點秒數)。

例子:

 

(9)time.gmtime([secs])

說明:接收時間戳並返回時間對象

例子:

 

(10)time.process_time() 

說明:返回當前進程執行 CPU 的時間總和,不包含睡眠時間。

例子:

 

(11)time.perf_counter() 

說明:返回計時器的精準時間(系統的運行時間),包含整個系統的睡眠時間。

例子:

 

(10)和(11)常常用來計算程序的執行耗時。

 

假如說,你平時用的是 jupyter,還有一個更簡單的方式計算程序執行耗時。

 

那就是 %timeit

 

例子:

 

是不是特別方便呢?

 

總結一下

比較常用的api有

time.time() 獲取當前時間戳
time.localtime() 獲取當前時間對象
time.gmtime() 時間戳轉時間對象
time.mktime() 時間對象轉時間戳
time.strftime() 時間對象轉自定義時間字符串

time.strptime()

自定義時間字符串轉時間對象
time.sleep() 延時

 

關於作者

github:https://github.com/GitDzreal93/dev-tester
微信公衆號:測試開發guide

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章