溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何使用time模塊

發(fā)布時間:2021-10-18 15:09:15 來源:億速云 閱讀:230 作者:小新 欄目:編程語言

小編給大家分享一下python如何使用time模塊,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

時間處理是工作中常用的操作,下面我們介紹time模塊常用的操作,開始之前我們先來看常見問題:

1:如何獲取當前時間?
2:如何將時間轉(zhuǎn)成字符串?
3:如何將字符串轉(zhuǎn)成時間,可以獲取對應(yīng)的年月日時分秒?
4:如何將時間轉(zhuǎn)成自己想要的格式?

掌握time模塊,以上問題輕松解決。

1.時間類型劃分

1.1 導(dǎo)入time模塊
import time
1.2 time模塊

time模塊那么多方法,如何區(qū)分?
根據(jù)時間格式劃分為:

a)時間戳
b)struct_time格式(時間格式,可以輕松獲取年月日,時分秒各個值)
c)字符串時間(可讀性好)

下面逐一詳解(以下操作在jupyter,python3.x版本操作)

2 時間戳處理

跟著感覺走:

2.1 獲取時間戳

什么是時間戳?就是一個大的浮點數(shù),計算機用來記錄時間用的,大概好像是1970年的某年月開始的。
獲取時間戳正確姿勢:

time.time():獲取時間戳,返回浮點數(shù),單位秒
import time
t=time.time()
t

結(jié)果:

1582968461.3394606

獲取時間戳,對我們來說意義不大,怎么獲取對應(yīng)的年與日時分秒?

2.2 時間戳轉(zhuǎn)struct_time:

struct_time是一個對象,類似元組,主要包含時間信息

屬性說明
tm_year
tm_mon月[01,31]
tm_mday
tm_hour小時 [ 00,12]
tm_min分鐘 [00,59]
tm_sec秒 [00,59]
tm_wday星期 [0,6]
tm_yday從每年的1月1日開始的天數(shù)
tm_isdst夏令時(暫時忽略)

有了這個結(jié)構(gòu),獲取時間太easy,如何獲???

方法:time.localtime([sec])
#獲取當前時間
st = time.localtime()
#獲取年
print(st.tm_year)
#獲取小時
print(st.tm_hour)
#時間戳轉(zhuǎn)struct_time
t=1582968461
print(time.localtime(t))

輸出結(jié)果:

2020
17
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=17, tm_min=27, tm_sec=41, tm_wday=5, tm_yday=60, tm_isdst=0)
2.3 時間戳轉(zhuǎn)時間字符串

time.ctime(seconds):將時間戳轉(zhuǎn)成可讀字符串

#獲取當前時間
print(time.ctime())
#時間戳轉(zhuǎn)字符串
t=1582968461
print(time.ctime(t))

輸出結(jié)果:

Sat Feb 29 17:46:18 2020
Sat Feb 29 17:27:41 2020

3 struct_time處理

主要下面幾個操作:

方法說明
time.mktime(tuple)struct_time轉(zhuǎn)時間戳
time.asctime([tuple])struct_time轉(zhuǎn)時間日期字符串
time.strftime(format[, tuple])struct_time轉(zhuǎn)指定時間格式字符串

先來看前兩個操作:

#獲取當前時間
st = time.localtime()
#struct_time轉(zhuǎn)時間戳
print(time.mktime(st))
#struct_time轉(zhuǎn)字符串
print(time.asctime(st))

輸出結(jié)果:

1582974399.0
Sat Feb 29 19:06:39 2020

如何將struct_time轉(zhuǎn)自定義格式字符串?
time.strftime(format[, tuple]):format為指定格式,tuple為struct_time對象
format格式可以通過help(time.strftime)查看,主要格式如下:

格式說明
%Y年份:[xxxx]
%y年份:[xx],不帶世紀
%m月份:[01,12]
%d日:[01,,3]
%H小時:[00,23]
%M分:[00,59]
%S秒:[00,59]
%x日期:[月/日/年份]
%X時間:[時:分:秒]

例子:

st = time.localtime()
#年-月-日
print(time.strftime('%Y-%m-%d', st))
#時-分-秒
print(time.strftime('%H-%M-%S',st))
#年-月-日 時:分:秒
print(time.strftime('%Y-%m-%d %H:%M:%S', st))

結(jié)果:

2020-02-29
19-19-31
2020-02-29 19:19:31

字符換時間轉(zhuǎn)時間

比如將"2020-02-29 19:19:31"轉(zhuǎn)成struct_time或者時間戳如何操作?
strptime(string, format),與strftime相反,具體操作:

s = '2020-02-29 19:19:31'
st = time.strptime(s,'%Y-%m-%d %H:%M:%S')
print(st)

輸出結(jié)果:

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=19, tm_min=19, tm_sec=31, tm_wday=5, tm_yday=60, tm_isdst=-1)

以上就是時間轉(zhuǎn)換主要方法。

總結(jié):

時間戳轉(zhuǎn)字符串流程
#獲取當前時間錯
t = time.time()
print(t)
#轉(zhuǎn)成struct_time
st = time.localtime(t)
print(st)
#st轉(zhuǎn)自定義格式字符串
s = time.strftime('%Y-%m-%d %H:%M:%S', st)
print(s)

輸出結(jié)果:

1582975571.0656374
time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=19, tm_min=26, tm_sec=11, tm_wday=5, tm_yday=60, tm_isdst=0)
2020-02-29 19:26:11
字符串轉(zhuǎn)時間戳
s = '2020-02-29 19:26:11'
#字符串轉(zhuǎn)struct_time
st = time.strptime(s,'%Y-%m-%d %H:%M:%S')
print(st)
#struct_time轉(zhuǎn)時間戳
t = time.mktime(st)
print(t)

結(jié)果:

time.struct_time(tm_year=2020, tm_mon=2, tm_mday=29, tm_hour=19, tm_min=26, tm_sec=11, tm_wday=5, tm_yday=60, tm_isdst=-1)
1582975571.0

記住這幾個操作,能夠滿足大部分需求。

以上是“python如何使用time模塊”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI