Python中三種時間格式轉(zhuǎn)換的方法
更新時間:2023年04月27日 14:34:59 作者:Python熱愛者
本文主要介紹了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
到此這篇關于Python中三種時間格式轉(zhuǎn)換的方法的文章就介紹到這了,更多相關Python 時間格式轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python 實現(xiàn)在shell窗口中編寫print不向屏幕輸出
這篇文章主要介紹了python 實現(xiàn)在shell窗口中編寫print不向屏幕輸出的代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python實現(xiàn)創(chuàng)建模塊的方法詳解
導入一個模塊,我們一般都會使用?import?關鍵字,但有些場景下?import?難以滿足我們的需要。所以除了?import?之外還有很多其它導入模塊的方式,下面就來介紹一下2022-07-07

