一、datetime.strptime函數介紹
在Python中,datetime模塊中的strptime函數可以將字元串轉換為DateTime對象。strptime的用法是將日期和時間解析成時間元組,然後返回一個datetime.datetime對象。
strptime函數的語法如下:
datetime.strptime(date_string, format)
其中,date_string是需要解析的字元串,format是date_string的格式。strptime函數會根據format參數指定的格式對date_string進行解析。它返回一個表示日期時間的datetime.datetime對象。
二、strptime解析日期格式控制指令
下面我們介紹一下strptime解析日期格式的控制指令:
指令 含義 示例 %Y 四位數的年份 2021 %y 兩位數的年份 21 %m 月份(數字表示) 01-12 %B 月份(英文全稱) January-December %b 月份(英文縮寫) Jan-Dec %d 一個月中的第幾天 01-31 %w 一周中的第幾天(0代表星期日) 0-6 %A 星期(英文全稱) Sunday-Saturday %a 星期(英文縮寫) Sun-Sat %H 小時(24小時制) 00-23 %I 小時(12小時制) 01-12 %p 上午或下午(AM / PM) AM/PM %M 分鐘 00-59 %S 秒 00-59 %f 微秒 000000-999999 %z UTC偏移量 +HHMM或-HHMM %Z 時區名稱 UTC、EST、PST %% 百分號 %
三、strptime函數代碼示例
下面的示例展示了如何使用strptime函數將字元串轉換為DateTime對象:
import datetime date_string = "2021-12-31" format = "%Y-%m-%d" date_object = datetime.datetime.strptime(date_string, format) print(date_object)
輸出結果為:
2021-12-31 00:00:00
四、strptime解析含有時區信息的日期時間字元串
如果要解析含有時區信息的日期時間字元串,可以使用strptime的%z和%Z指令。
下面的示例展示了如何解析包含時區信息的日期時間字元串:
import datetime date_string = "2021-12-31 06:45:00 UTC-0500" format = "%Y-%m-%d %H:%M:%S %Z%z" date_object = datetime.datetime.strptime(date_string, format) print(date_object)
輸出結果為:
2021-12-31 06:45:00-05:00
五、strptime解析指定格式的日期時間字元串
如果要解析指定格式的日期時間字元串,需要在format參數中指定與date_string格式相同的日期時間格式。
下面的示例展示了如何解析指定格式的日期時間字元串:
import datetime date_string = "12/31/21 06:45:00 PM" format = "%m/%d/%y %I:%M:%S %p" date_object = datetime.datetime.strptime(date_string, format) print(date_object)
輸出結果為:
2021-12-31 18:45:00
六、strptime解析非標準日期時間格式的字元串
如果要解析非標準日期時間格式的字元串,可以使用re模塊中的正則表達式來解析字元串。
下面的示例展示了如何使用正則表達式解析非標準日期時間格式的字元串:
import re import datetime date_string = "December 31st, 21 at 6:45 PM" format = "%B %dst, %y at %I:%M %p" date_pattern = re.compile("(\d+)(?:st|nd|rd|th)") match = date_pattern.search(date_string) if match is not None: suffix = match.group(1) date_string = re.sub(date_pattern, suffix, date_string) date_object = datetime.datetime.strptime(date_string, format) print(date_object)
輸出結果為:
2021-12-31 18:45:00
七、總結
strptime函數是Python中非常有用的函數,它可以將字元串轉換為DateTime對象。在使用strptime函數時,需要注意日期時間字元串的格式,並且指定相應的控制指令。
在解析日期時間字元串時,如果日期時間字元串包含時區信息或者是非標準的日期時間格式,需要使用%z和%Z指令或者正則表達式進行解析。
通過掌握strptime函數的用法,開發人員可以更加靈活地解析日期時間字元串並將其轉換為DateTime對象,從而滿足不同的業務需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193590.html