Python中三種時(shí)間格式轉(zhuǎn)換的方法
一 時(shí)間元組
1. 時(shí)間元組和時(shí)間戳的互化
import time,datetime # 獲取當(dāng)前時(shí)間的時(shí)間元組 t = time.localtime() print(t) # 時(shí)間元組轉(zhuǎn)時(shí)間戳 timestamp = time.mktime(t) print(timestamp) # time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=15, tm_sec=41, tm_wday=2, tm_yday=296, tm_isdst=0) # 1571843741.0 # 獲取時(shí)間戳 ts = time.time() # 時(shí)間戳轉(zhuǎn)時(shí)間元組 # 方法一 print('法一:',time.localtime(ts)) # 方法二 print('法二:',time.gmtime(ts)) # 兩種方法的區(qū)別只有小時(shí)的輸出不同,法一的小時(shí)是24小時(shí)制的,法二是12小時(shí)的 # time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=23, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0) # time.struct_time(tm_year=2019, tm_mon=10, tm_mday=23, tm_hour=15, tm_min=10, tm_sec=14, tm_wday=2, tm_yday=296, tm_isdst=0)
2. 時(shí)間元組和字符串的互化
import time # 字符串轉(zhuǎn)時(shí)間元組 # 字符類(lèi)型的時(shí)間 t1 = '2013-10-10 23:40:00' # 轉(zhuǎn)為時(shí)間元組,時(shí)間元組本身沒(méi)有直接的用處,但它可以輸出時(shí)間的年月日時(shí)分秒等 # 注意這里的字符串除了%Y %m %d %H %M %S分別代表字符串中的年月日時(shí)分秒, # 這里的格式必須和字符串一模一樣,由于字符串中間有空格,它也不能少 timeArray = time.strptime(t1, "%Y-%m-%d %H:%M:%S") print('并沒(méi)有直接的用處:', timeArray) print('輸出年:', timeArray.tm_year) print('輸出月:', timeArray.tm_mon) print('輸出日:', timeArray.tm_mday) print('輸出時(shí):', timeArray.tm_hour) print('輸出分:', timeArray.tm_min) print('輸出秒:', timeArray.tm_sec) # 當(dāng)用%Y時(shí)表示的是年份的全稱,當(dāng)用%y時(shí)表示簡(jiǎn)稱, # 月份和小時(shí)沒(méi)有這種用法,它們只用小寫(xiě),時(shí)分秒的貌似只用大寫(xiě) t2 = '19/09/05 22/16' timeArray = time.strptime(t2, "%y/%m/%d %H/%M") print(timeArray) # 并沒(méi)有直接的用處: time.struct_time(tm_year=2013, tm_mon=10, tm_mday=10, tm_hour=23, tm_min=40, tm_sec=0, tm_wday=3, tm_yday=283, tm_isdst=-1) # 輸出年: 2013 # 輸出月: 10 # 輸出日: 10 # 輸出時(shí): 23 # 輸出分: 40 # 輸出秒: 0 # time.struct_time(tm_year=2019, tm_mon=9, tm_mday=5, tm_hour=22, tm_min=16, tm_sec=0, tm_wday=3, tm_yday=248, tm_isdst=-1) # 時(shí)間元組轉(zhuǎn)字符串 ts = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) print(ts) # 2019/09/05 22:16:00
二 字符串與時(shí)間戳
字符串與時(shí)間戳不能直接轉(zhuǎn)化,要通過(guò)時(shí)間元組來(lái)完成,時(shí)間元組是中介.
轉(zhuǎn)化圖:
三 時(shí)間的加減用法
時(shí)間元組不能加減,要用datetime格式的時(shí)間才能加減.下面是字符串轉(zhuǎn)為datetime后,進(jìn)行時(shí)間加減運(yùn)算.
import datetime start = '2019-07-28 00:00:08' end = '2019-07-29 00:50:03' # 先將字符串轉(zhuǎn)化為時(shí)間格式 a = datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S") b = datetime.datetime.strptime(end, "%Y-%m-%d %H:%M:%S") print(a,b) # 只能直接計(jì)算秒和天,其它的不能 # seconds獲得的秒只是時(shí)間差中的小時(shí)、分鐘和秒部分的和,并沒(méi)有包含時(shí)間差的天數(shù) print((b-a).seconds) # total_seconds來(lái)獲取準(zhǔn)確的時(shí)間差,并將時(shí)間差轉(zhuǎn)換為秒 print((b-a).total_seconds()) # 如果不夠一天,會(huì)輸出0 print((b-a).days) # 時(shí)間相加 c = a + datetime.timedelta(hours=5,seconds=68) d = a - datetime.timedelta(days=69,minutes=89) print(c,d) # 2019-07-28 00:00:08 2019-07-29 00:50:03 # 2995 # 89395.0 # 1 # 2019-07-28 05:01:16 2019-05-19 22:31:08
到此這篇關(guān)于Python中三種時(shí)間格式轉(zhuǎn)換的方法的文章就介紹到這了,更多相關(guān)Python 時(shí)間格式轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例
本文將介紹Python的pytest庫(kù)的10個(gè)強(qiáng)大用法,并提供相應(yīng)的代碼示例,幫助你更好地理解和應(yīng)用單元測(cè)試,它提供了許多高級(jí)功能和便利的用法,能夠讓我們更輕松地編寫(xiě)和執(zhí)行單元測(cè)試2024-01-01在CentOS 7中使用Python 3執(zhí)行系統(tǒng)命令的詳細(xì)教程
使用os.system()這個(gè)方法簡(jiǎn)單直接,但它不返回命令的輸出,只返回命令的退出狀態(tài),如果你只需要知道命令是否成功執(zhí)行,這個(gè)方法就足夠了,這篇文章主要介紹了在CentOS 7中使用Python 3執(zhí)行系統(tǒng)命令的詳細(xì)教程,需要的朋友可以參考下2024-02-02使用IPython下的Net-SNMP來(lái)管理類(lèi)UNIX系統(tǒng)的教程
這篇文章主要介紹了使用IPython下的Net-SNMP來(lái)管理類(lèi)UNIX系統(tǒng)的教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04opencv-python 讀取圖像并轉(zhuǎn)換顏色空間實(shí)例
今天小編就為大家分享一篇opencv-python 讀取圖像并轉(zhuǎn)換顏色空間實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12使用paramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實(shí)例
下面小編就為大家?guī)?lái)一篇使用paramiko遠(yuǎn)程執(zhí)行命令、下發(fā)文件的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10Python matplotlib繪圖可視化知識(shí)點(diǎn)整理(小結(jié))
這篇文章主要介紹了Python matplotlib繪圖可視化知識(shí)點(diǎn)整理(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解
這篇文章主要介紹了Python之?dāng)?shù)據(jù)序列化(json、pickle、shelve)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08