溫馨提示×

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

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

在python中如何使用time()時(shí)間模塊

發(fā)布時(shí)間:2020-11-04 15:33:43 來源:億速云 閱讀:184 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)在python中如何使用time()時(shí)間模塊,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

時(shí)間模塊的定義與使用:

時(shí)間模塊time是python自帶的模塊,它內(nèi)部封裝了一些獲取時(shí)間戳和字符串形式時(shí)間的函數(shù)。

導(dǎo)入方法如下:

import time

獲取時(shí)間戳:

tiem.time():獲取當(dāng)前時(shí)間戳。

時(shí)間戳是指從計(jì)算機(jī)元年到現(xiàn)在經(jīng)過的秒數(shù)。

計(jì)算機(jī)元年是指1970年1月1日0時(shí)0分0秒。

另外在python中時(shí)間戳表示為秒數(shù),在java中表示為毫秒數(shù)。

返回值:

浮點(diǎn)數(shù),內(nèi)容是計(jì)算機(jī)元年至今的秒數(shù)。

案例:

print(time.time())  # 獲取當(dāng)前時(shí)間戳

out:

1602407766.3462217
1234

格式化時(shí)間對(duì)象

time.gmtime():獲取格式化時(shí)間對(duì)象,返回值是當(dāng)前格林尼治時(shí)間。

time.localtime():獲取格式化時(shí)間對(duì)象,返回值是當(dāng)?shù)貢r(shí)間(也就是北京時(shí)間,比格林尼治時(shí)間+8小時(shí))。

參數(shù):

參數(shù)只有一個(gè),類型是浮點(diǎn)數(shù),返回的是計(jì)算機(jī)時(shí)間元年過去多少秒以后的時(shí)間;缺省值是當(dāng)前時(shí)間。

返回值:

這兩個(gè)函數(shù)的返回值除了相差8小時(shí)外都一樣,返回值是格式化時(shí)間對(duì)象。

格式化時(shí)間對(duì)象有9個(gè)屬性,均為int型:

tm_year=2020,表示當(dāng)前是2020年
tm_mon=10,表示當(dāng)前是10月
tm_mday=10,表示當(dāng)前是10日
tm_hour=13,表示當(dāng)前是13時(shí)(注意是格林尼治時(shí)間,加8小時(shí)才是北京時(shí)間)
tm_min=50,表示當(dāng)前是50分
tm_sec=24,表示當(dāng)前是24秒
tm_wday=5,表示當(dāng)前是一周的第6天(周日是0,周一是1,周六是6)
tm_yday=284,表示當(dāng)前是一年的第284天
tm_isdst=0,表示不是夏令時(shí)(=1表示是夏令時(shí))

案例:

print(time.gmtime())  # 獲取當(dāng)前GMT:格林尼治時(shí)間
print(time.localtime())  # 獲取當(dāng)?shù)貢r(shí)間

out:

time.struct_time(tm_year=2020, tm_mon=10, tm_mday=11, tm_hour=9, tm_min=19, tm_sec=8, tm_wday=6, tm_yday=285, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=10, tm_mday=11, tm_hour=17, tm_min=19, tm_sec=8, tm_wday=6, tm_yday=285, tm_isdst=0)

格式化時(shí)間對(duì)象轉(zhuǎn)換為字符串

time.strftime():格式化時(shí)間對(duì)象轉(zhuǎn)換成字符串。

返回值:

返回值是根據(jù)字符串模板生成的字符串。

案例:

# 把時(shí)間對(duì)象轉(zhuǎn)換成字符串
time_str = time.strftime('%Y年%m月%d日%H時(shí)%M分%S秒')
print(time_str)
print(time.strftime('%Y年%m月%d日%H時(shí)%M分%S秒', time.gmtime(0)))

out:

2020年10月11日17時(shí)30分24秒
1970年01月01日00時(shí)00分00秒

字符串轉(zhuǎn)換為格式化時(shí)間對(duì)象

time.strptime():字符串轉(zhuǎn)換為格式化時(shí)間對(duì)象。注意strptime和strftime是互逆操作,要相互轉(zhuǎn)換必須使用相同的字符串模板。

參數(shù):

和strftime的參數(shù)一樣也是兩個(gè),但位置相反。

返回值:

返回值是根據(jù)字符串模板生成的格式化時(shí)間對(duì)象。

案例:

# 把時(shí)間字符串轉(zhuǎn)換成時(shí)間對(duì)象
time_struct = time.strptime(time_str, '%Y年%m月%d日%H時(shí)%M分%S秒')
print(time_struct)

out:

time.struct_time(tm_year=2020, tm_mon=10, tm_mday=11, tm_hour=17, tm_min=35, tm_sec=52, tm_wday=6, tm_yday=285, tm_isdst=-1)

時(shí)間對(duì)象轉(zhuǎn)換成時(shí)間戳

time.mktime():獲取格式化時(shí)間對(duì)象對(duì)應(yīng)的時(shí)間戳。注意mktime和gmtime、localtime是互逆操作。

參數(shù):

參數(shù)只有一個(gè),是格式化時(shí)間對(duì)象。

返回值:

返回值是時(shí)間戳。

案例:

# 時(shí)間對(duì)象轉(zhuǎn)換為時(shí)間戳
time_num = time.mktime(time_struct)
print(time_num)
 
# 時(shí)間戳轉(zhuǎn)換為時(shí)間對(duì)象
time_struct2 = time.gmtime(time_num)
time_struct3 = time.localtime(time_num)
print(time_struct2)
print(time_struct3)

out:

1602409740.0
time.struct_time(tm_year=2020, tm_mon=10, tm_mday=11, tm_hour=9, tm_min=49, tm_sec=0, tm_wday=6, tm_yday=285, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=10, tm_mday=11, tm_hour=17, tm_min=49, tm_sec=0, tm_wday=6, tm_yday=285, tm_isdst=0)

常用案例:

1、一行代碼對(duì)日期排序:

date_list = ['2020-9-10', '2020-9-20', '2020-9-15']
date_list2 = sorted(date_list, key=lambda x: time.strptime(x, '%Y-%m-%d'))
print(date_list2)

out:

['2020-9-10', '2020-9-15', '2020-9-20']

2、一行代碼計(jì)算2個(gè)日期相差天數(shù)

date1 = '2020-9-10'
date2 = '1999-9-9'
 
print((time.mktime(time.strptime(date1, '%Y-%m-%d'))-time.mktime(time.strptime(date2, '%Y-%m-%d')))/86400)

out:

7672.0

關(guān)于在python中如何使用time()時(shí)間模塊就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

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

AI