您好,登錄后才能下訂單哦!
這篇文章主要介紹了Python中時間格式轉換的方法有哪些的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python中時間格式轉換的方法有哪些文章都會有所收獲,下面我們一起來看看吧。
1. 時間元組和時間戳的互化
import time,datetime # 獲取當前時間的時間元組 t = time.localtime() print(t) # 時間元組轉時間戳 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() # 時間戳轉時間元組 # 方法一 print('法一:',time.localtime(ts)) # 方法二 print('法二:',time.gmtime(ts)) # 兩種方法的區別只有小時的輸出不同,法一的小時是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 # 字符串轉時間元組 # 字符類型的時間 t1 = '2013-10-10 23:40:00' # 轉為時間元組,時間元組本身沒有直接的用處,但它可以輸出時間的年月日時分秒等 # 注意這里的字符串除了%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) # 時間元組轉字符串 ts = time.strftime("%Y/%m/%d %H:%M:%S", timeArray) print(ts) # 2019/09/05 22:16:00
字符串與時間戳不能直接轉化,要通過時間元組來完成,時間元組是中介.
轉化圖:
時間元組不能加減,要用datetime格式的時間才能加減.下面是字符串轉為datetime后,進行時間加減運算.
import datetime start = '2019-07-28 00:00:08' end = '2019-07-29 00:50:03' # 先將字符串轉化為時間格式 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獲得的秒只是時間差中的小時、分鐘和秒部分的和,并沒有包含時間差的天數 print((b-a).seconds) # total_seconds來獲取準確的時間差,并將時間差轉換為秒 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
關于“Python中時間格式轉換的方法有哪些”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Python中時間格式轉換的方法有哪些”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。