一、strftime()函數介紹
Python中的strftime()函數是用來格式化日期的,它可以將時間元組轉換為字符串,並按照指定的格式進行輸出。
import time # 獲取當前時間 localtime = time.localtime(time.time()) print("本地時間為 :", localtime) # 轉換為格式化字符串 formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", localtime) print("格式化後的本地時間為:", formatted_time)
上面的代碼中,我們先使用time模塊獲取當前的時間元組localtime,然後將其按照指定的格式(”%Y-%m-%d %H:%M:%S”)轉換為字符串formatted_time,並輸出到控制台。運行結果如下:
本地時間為 : time.struct_time(tm_year=2021, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=36, tm_sec=51, tm_wday=5, tm_yday=240, tm_isdst=0) 格式化後的本地時間為: 2021-08-28 23:36:51
可以看到,格式化後的本地時間已經按照指定的格式進行輸出了。
二、strftime()函數的格式化符號
strftime()函數支持的格式化符號有很多,下面列出常用的一些:
- %Y:年份,例如2021
- %m:月份,01~12
- %d:日,01~31
- %H:小時,00~23
- %M:分鐘,00~59
- %S:秒,00~59
- %a:星期幾的簡寫,例如Sun
- %A:星期幾的全寫,例如Sunday
- %b:月份的簡寫,例如Jan
- %B:月份的全寫,例如January
- %c:默認的日期和時間表示法,例如Sat Aug 28 23:36:51 2021
- %p:上午/下午,例如AM
- %Z:時區,例如UTC
- %j:一年中的第幾天,001~366
- %U:一年中的第幾周,以第一個星期日為第一天,00~53
- %W:一年中的第幾周,以第一個星期一為第一天,00~53
下面的代碼列舉了常用格式化符號的使用方法:
import time # 獲取當前時間 localtime = time.localtime(time.time()) print(time.strftime("%Y-%m-%d %H:%M:%S", localtime)) # 2021-08-28 23:36:51 print(time.strftime("%a, %d %b %Y %H:%M:%S %Z", localtime)) # Sat, 28 Aug 2021 23:36:51 UTC print(time.strftime("%I:%M:%S %p", localtime)) # 11:36:51 PM print(time.strftime("%j", localtime)) # 240 print(time.strftime("%U", localtime)) # 34
運行結果如下:
2021-08-28 23:36:51 Sat, 28 Aug 2021 23:36:51 UTC 11:36:51 PM 240 34
三、strftime()函數的其他用途
除了將日期轉換為指定格式之外,strftime()函數還有其他的用途。
一、將字符串轉換為時間元組
import time # 將字符串轉換為時間元組 date_string = "2021-08-28 23:36:51" time_tuple = time.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(time_tuple) # 轉換為時間戳 timestamp = time.mktime(time_tuple) print(timestamp)
上面的代碼中,我們將一個字符串date_string轉換為時間元組time_tuple,並輸出到控制台。然後將其轉換為時間戳timestamp,並輸出到控制台。運行結果如下:
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=28, tm_hour=23, tm_min=36, tm_sec=51, tm_wday=5, tm_yday=240, tm_isdst=-1) 1630211811.0
二、計算時間差距
import time # 計算時間差距 start_time = time.strptime("2021-08-28 23:00:00", "%Y-%m-%d %H:%M:%S") end_time = time.strptime("2021-08-29 01:00:00", "%Y-%m-%d %H:%M:%S") diff = int(time.mktime(end_time) - time.mktime(start_time)) print("時間差距為:", diff, "秒")
上面的代碼中,我們計算了2021年8月28日23:00:00和2021年8月29日01:00:00之間的時間差距,並輸出到控制台。運行結果如下:
時間差距為: 7200 秒
四、總結
strftime()函數是Python中用來格式化日期的函數,它可以將時間元組轉換為字符串。我們可以使用strftime()函數來指定格式化符號來輸出不同的格式。除此之外,strftime()函數還可以將字符串轉換為時間元組,計算時間差距等。
在日常開發中,我們經常需要對日期進行格式化輸出、計算時間差距等操作,所以說掌握strftime()函數的用法對於Python開發者是非常重要的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150557.html