當前位置:首頁 » 編程語言 » python時間模塊

python時間模塊

發布時間: 2023-07-06 07:22:02

python中處理時間的幾種方法小結

python中的時間模塊主要有time, datetime。

I, time模塊
time模塊中包含了四種時間格式:
float格式,即給定時間相對於epoch增加的秒數
tuple格式,一個九元組 (tm_year, tm_mon, tm_mday, tm_hour, tm_min, tm_sec, tm_wday, tm_yday, tm_isdst)
string格式,'Mon Feb 6 15:00:06 2012'
format格式,以指定的格式生成的時間
針對這幾種時間格式,time模塊提供了函數在格式之間相互轉換。
asctime(tuple) ->string
ctime(float) ->string
gmtime(float) ->tuple
localtime(float) ->tuple
mktime(tuple) ->float
strftime(format, tuple) ->format string
strptime(formatstring, format) ->tuple
time() -> float
上述函數中,除了time()函數直接返回當前時間相對於epoch的秒數外,其他函數都要求有時間的輸入,如果沒有輸入,則默認使用當前時間。
另外,strftime和strptime中的format使用下面的格式:
%a 英文星期簡寫
%A 英文星期的完全
%b 英文月份的簡寫
%B 英文月份的完全
%c 顯示本地日期時間
%d 日期,取1-31
%H 小時, 0-23
%I 小時, 0-12
%m 月, 01 -12
%M 分鍾,1-59
%j 年中當天的天數
%w 顯示今天是星期幾
%W 第幾周
%x 當天日期
%X 本地的當天時間
%y 年份 00-99間
%Y 年份的完整拼寫
%S 秒(00-59)

除了上述的時間轉換函數之外,模塊還提供了下面的函數:
clock() 返回進程的創建時間,以秒計數的float
sleep(float) sleep一段時間,以秒計數
tzset() 更改時區

II, datetime
datetime模塊定義了下面這幾個類:
datetime.date:表示日期的類。常用的屬性有year, month, day;datetime.time:表示時間的類。常用的屬性有hour, minute, second, microsecond;datetime.datetime:表示日期時間。datetime.timedelta:表示時間間隔,即兩個時間點之間的長度。datetime.tzinfo:與時區有關的相關信息。(這里不詳細充分討論該類,感興趣的童鞋可以參考python手冊)
注 :上面這些類型的對象都是不可變(immutable)的。
下面詳細介紹這些類的使用方式。
date類
date類表示一個日期。日期由年、月、日組成(地球人都知道~~)。date類的構造函數如下:
class datetime.date(year, month, day):參數的意義就不多作解釋了,只是有幾點要注意一下:
year的范圍是[MINYEAR, MAXYEAR],即[1, 9999];month的范圍是[1, 12]。(月份是從1開始的,不是從0開始的~_~);day的最大值根據給定的year, month參數來決定。例如閏年2月份有29天;
date類定義了一些常用的類方法與類屬性,方便我們操作:
date.max、date.min:date對象所能表示的最大、最小日期;date.resolution:date對象表示日期的最小單位。這里是天。date.today():返回一個表示當前本地日期的date對象;date.fromtimestamp(timestamp):根據給定的時間戮,返回一個date對象;datetime.fromordinal(ordinal):將Gregorian日歷時間轉換為date對象;(Gregorian Calendar :一種日歷表示方法,類似於我國的農歷,西方國家使用比較多,此處不詳細展開討論。)

㈡ Python基礎編程——標准庫之fileinput與time模塊

在前一節我們介紹了標准庫的sys模塊和os模塊,本節將介紹標准庫的fileinput模塊和time模塊。

fileinput模塊能夠讓我們輕松地迭代一系列文本文件中的行。

fileinput模塊中一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:

fileinput.input(): fileinput模塊中最重要的函數,它返回一個可在for循環中進行迭代的對象。

fileinput. filename(): 返回當前文件(即正在處理的行所屬的文件)的文件名。

fileinput. lineno(): 返回當前行的編號。

fileinput. filelineno(): 返回當前行在當前文件中的行號。

fileinput. isfirstline(): 在當前行為當前文件中的第一行時返回True,否則返回False。

fileinput. isstdin():在當前文件為sys.stdin時返回True,否則返回False。

fileinput. nextfile():關閉當前文件並跳到下一個文件,且計數時忽略跳過的行。

fileinput. close():關閉整個文件鏈並結束迭代。

上面關於介紹的fileinput模塊中的函數的實例用法如下my_fileinput.py程序所示:

time模塊包含用於獲取當前時間、操作時間和日期、從字元串中讀取日期、將日期格式化為字元串的函數。日期可表示為實數,也可表示為包含9個整數的元組。例如,元組(2021, 6, 8, 22, 13, 56, 1, 21, 0)表示2021年6月8日22時13分56秒。日期元組中各欄位含義如下表所示:

秒的取值范圍為0~61,這考慮到了閏一秒和閏兩秒的情況。夏令時數字是一個布爾值(True或False),但如果你使用-1,那麼mktime[將時間元組轉換為時間戳(從新紀元開始後的秒數)的函數]可能得到正確的值。

模塊time中有一些重要的函數,也是我們在實際開發中需要經常用到的,具體如下表所示:

time.asctime(): 將當前的時間轉換成字元串形式,如果不想使用當前時間,也可以傳遞一個時間元組作為參數。如果要使用更復雜的時間格式化,可以使用strftime()函數。

time.localtime(): 將一個實數轉換成時間元組(這里是本地時間),如果要轉換成國際標准時間,應該使用time.gmtime()函數。需要注意這里的實數是一個從新紀元開始後的秒數,世界新紀元指的是 1970年1月1日0時0分0秒,如果是本地新紀元的話,需要加上本地的時區時間。

time.mktime(): 將時間元組轉換成從新紀元開始後的描述,這與time.local()函數功能相反。

time.sleep(): 讓解釋器等待指定的秒數,即程序暫停指定的秒數。

time.strftime(): 將時間元組按照指定的格式轉換成字元串格式。常用的格式符有:%Y表示年,%m表示月,%d表示日,%H表示時,%M表示分,%S表示秒。更多格式符可參考官方標准文檔。

上面關於介紹的time模塊中的函數的實例用法如下my_time.py程序所示:

注意:另外還有兩個較新的關於時間的模塊:datetime和timeit,大家可執行查閱相關文檔。

本節主要介紹了以下內容:

如果有需要文中小程序的可以私信我喲!

歡迎大家轉發、評論!

#Python# #python# #Python基礎# #python打卡# #Python編程從入門到實踐#

㈢ python之time模塊

time 模塊常用的與時間相關的類和函數:

time 模塊的 struct_time 類代表一個時間對象,可以通過 索引和屬性名 訪問值。 對應關系如下:

索引 —— 屬性 值
0 —— tm_year(年) 如:1945
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
6 —— tm_wday(周) 0 ~ 6
7 —— tm_yday(一年內第幾天) 1 ~ 366
8 —— tm_isdst(夏時令) -1、0、1

localtime() 表示當前時間,返回類型為 struct_time 對象 ,示例如下所示:

輸出結果:

time()——返回當前時間的時間戳
gmtime([secs])——將時間戳轉換為格林威治天文時間下的 struct_time,可選參數 secs 表示從 epoch 到現在的秒數,默認為當前時間
localtime([secs])——與 gmtime() 相似,返回當地時間下的 struct_time
mktime(t) localtime() 的反函數
asctime([t]) 接收一個 struct_time 表示的時間,返回形式為:Mon Dec 2 08:53:47 2019 的字元串
ctime([secs]) ctime(secs) 相當於 asctime(localtime(secs))
strftime(format[, t]) 格式化日期,接收一個 struct_time 表示的時間,並返回以可讀字元串表示的當地時間
sleep(secs) 暫停執行調用線程指定的秒數
altzone 本地 DST 時區的偏移量,以 UTC 為單位的秒數
timezone 本地(非 DST)時區的偏移量,UTC 以西的秒數(西歐大部分地區為負,美國為正,英國為零)
tzname 兩個字元串的元組:第一個是本地非 DST 時區的名稱,第二個是本地 DST 時區的名稱

基本使用如下所示:

strftime 函數日期格式化符號說明如下所示:

㈣ python中的time模塊

time模塊是python專門用來處理時間的內建庫。
下面我們來記錄一些基本使用方法。
ps: 用到了一些概念,比如unix時間戳,感興趣的同學自行網路。

下文參考他人博客內容, 傳送門

time.time()函數獲取的是Unix時間戳。
返回的是一個float類型的數值。

在python中的time模塊中定義了一個叫struct_time的元組,是用來構建時間對象的。
struct_time元組共9個元素組成,如下圖:

這個函數可以接受一個unix時間戳,然後轉換為struct_time。
如果不傳入second參數,則會返回當前時間的時間戳的struct_time對象

再試試傳入當前時間的時間戳,是否能得到上面的struct_time呢?

和我們預期的結果一致。

和localtime函數類似,默認情況gmtime函數獲取當前時間的utc時間。
返回當前時間的utc時間的struct_time對象。
也可以傳入任意的unix時間戳,來得到utc時間。

將一個時間戳struct_time對象轉換為時間戳。

傳入一個struct_time對象,返回"Sun Jun 20 23:21:05 1993"這種格式的字元串。不傳參數,返回當前時間的這種格式的字元串。

傳入格式和struct_time,返回按照format格式格式化後的時間字元串。

格式佔位符可以參考下圖:

將字元串時間轉為struct_time,time.strftime()的逆向操作。

㈤ python中timedate模塊的用法

time模塊想進行不同時間的轉換,一般需要在時間戳--時間結構體--時間字元串三者之間互轉,而timedate把時間結構體做成類且可以直接加減,所以一般不再需要通過時間戳作為中介,可以直接在時間結構體--時間字元串兩者之間進行操作即可。
還是以UTC和北京時間轉換為例:

熱點內容
lol天使輔助腳本 發布:2025-02-09 11:24:39 瀏覽:139
溯源碼怎麼生成 發布:2025-02-09 11:15:15 瀏覽:442
android70flash 發布:2025-02-09 11:15:06 瀏覽:725
如何查看伺服器拒絕信息 發布:2025-02-09 11:13:07 瀏覽:946
靜態編譯失敗怎麼回事 發布:2025-02-09 11:12:54 瀏覽:215
sql能力 發布:2025-02-09 10:43:50 瀏覽:982
編譯framework 發布:2025-02-09 10:42:11 瀏覽:382
五子棋對戰演算法 發布:2025-02-09 10:12:19 瀏覽:713
php樹菜單 發布:2025-02-09 10:04:10 瀏覽:360
linux保存ip 發布:2025-02-09 10:04:10 瀏覽:24