溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中時間格式轉(zhuǎn)換的方法有哪些

發(fā)布時間:2023-04-27 15:27:54 來源:億速云 閱讀:111 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python中時間格式轉(zhuǎn)換的方法有哪些的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python中時間格式轉(zhuǎn)換的方法有哪些文章都會有所收獲,下面我們一起來看看吧。

一 時間元組

1. 時間元組和時間戳的互化

import time,datetime
# 獲取當(dāng)前時間的時間元組
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)
# 當(dāng)用%Y時表示的是年份的全稱,當(dāng)用%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)化圖:

Python中時間格式轉(zhuǎn)換的方法有哪些

三 時間的加減用法

時間元組不能加減,要用datetime格式的時間才能加減.下面是字符串轉(zhuǎn)為datetime后,進(jìn)行時間加減運(yùn)算.

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)
# 只能直接計(jì)算秒和天,其它的不能
# seconds獲得的秒只是時間差中的小時、分鐘和秒部分的和,并沒有包含時間差的天數(shù)
print((b-a).seconds)
# total_seconds來獲取準(zhǔn)確的時間差,并將時間差轉(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)換的方法有哪些”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Python中時間格式轉(zhuǎn)換的方法有哪些”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI