一、概述:strptime和strftime函數
Python中的strptime函數和strftime函數具有極大的相似性,都是用來進行格式化輸出和時間字符串轉換。strptime是用來將時間字符串解析成時間格式的函數,而strftime則是用來將時間格式格式化為時間字符串的函數。strptime和strftime函數都依賴于格式化指令。
strptime 函數接收兩個參數:一個是字符串形式的日期時間,另一個是日期時間的格式。
strftime函數接收兩個參數:一個是日期時間的格式,另一個是時間元組。
二、strptime函數詳解
strptime函數可以將時間格式的字符串解析成時間元組。時間元組是由以下9個元素組成的:
struct_time(tm_year=2021, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)
其中,tm_year代表年份,從1900開始,所以如果要表示2021年,則tm_year的值為121。tm_mon代表月份,從1開始,範圍為1~12。tm_mday代表日期,從1開始,範圍為1~31。tm_hour代表小時,從0開始,範圍為0~23。tm_min代表分鐘,從0開始,範圍為0~59。tm_sec代表秒數,從0開始,範圍為0~61(60和61是閏秒)。tm_wday代表星期幾,從0開始,範圍為0~6,0為星期一,6為星期日。tm_yday代表一年中的第幾天,從1開始,範圍為1~366。tm_isdst代表是否為夏令時,-1代表不確定,0代表不是,1代表是。
下面是一個示例代碼:
from datetime import datetime
date_time_str = '2022-05-08 10:00:00'
date_time_obj = datetime.strptime(date_time_str, '%Y-%m-%d %H:%M:%S')
print('日期時間對象:', date_time_obj)
以上代碼的輸出結果為:
日期時間對象:2022-05-08 10:00:00
strptime中常用的格式化指令如下:
| 格式化指令 | 說明 |
|---|---|
| %a | 星期幾的本地簡寫 |
| %A | 星期幾的本地完整名稱 |
| %b | 月份的本地簡寫 |
| %B | 月份的本地完整名稱 |
| %c | 本地日期和時間表示 |
| %d | 一個月中的日期(01~31) |
| %H | 24小時制的小時數(00~23) |
| %I | 12小時制的小時數(01~12) |
| %j | 一年中的第幾天(001~366) |
| %m | 月份(01~12) |
| %M | 分鐘數(00~59) |
| %p | AM或PM |
| %S | 秒數(00~61) |
| %U | 一年中的星期數(00~53),星期天是一個星期的起始 |
| %w | 一個星期中的第幾天(0~6,0為星期天) |
| %W | 一年中的星期數(00~53),星期一是一個星期的起始 |
| %x | 本地相應的日期表示 |
| %X | 本地相應的時間表示 |
| %y | 年份的最後兩位數(00~99) |
| %Y | 年份的完整表示,4位數 |
| %z | 與UTC偏移的整小時數(+HHMM或-HHMM) |
| %Z | 時區的名稱(為空白字符,或者美國標準縮寫) |
| %% | 百分號 |
三、strftime函數詳解
strftime函數可以將時間元組格式化為時間字符串。下面是一個示例代碼:
from datetime import datetime
now = datetime.now()
time_string = now.strftime("%Y-%m-%d %H:%M:%S")
print(time_string)
以上代碼的輸出結果為:
2022-05-08 18:30:00
常用的格式化指令與strptime函數中一致,此處不再贅述。
四、應用場景
strptime函數和strftime函數是處理時間的重要方法,應用場景非常廣泛。比如,在實際開發中,用戶輸入的數據往往是字符串格式的,而程序需要的是時間格式,這時就需要將字符串格式的數據使用strptime函數轉換為時間格式;又比如在數據分析過程中,我們需要對時間進行聚合和分組,而時間類型不方便進行直接的操作,這時就需要將時間格式使用strftime函數轉換為字符串格式。
五、總結
Python中的strptime和strftime函數是處理時間的常用方法,可以實現字符串與時間格式的相互轉換。strptime函數將時間字符串解析成時間元組,而strftime函數將時間元組解析成時間字符串。在實際開發中應用廣泛,是程序員處理時間的重要工具。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150989.html
微信掃一掃
支付寶掃一掃