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