您好,登錄后才能下訂單哦!
怎樣使用python time()方法?這個(gè)問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個(gè)問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
時(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
感謝各位的閱讀!看完上述內(nèi)容,你們對(duì)怎樣使用python time()方法大概了解了嗎?希望文章內(nèi)容對(duì)大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。