您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python時間格式轉換代碼怎么寫”,在日常操作中,相信很多人在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時間格式轉換代碼怎么寫”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。