Python datetime模塊提供了許多方便的日期和時間處理函數,其中datetime.strptime函數是將字元串轉換為datetime對象的重要方法。本文將從多個方面詳細闡述datetime.strptime函數的用法。
一、基本用法
datetime.strptime函數的第一個參數是要轉換的字元串,第二個參數是表示字元串格式的格式化字元串。
from datetime import datetime date_string = "2021-01-01" date_obj = datetime.strptime(date_string, "%Y-%m-%d") print(date_obj) # 2021-01-01 00:00:00
上面的代碼將字元串”2021-01-01″轉換為datetime對象,其中”%Y-%m-%d”表示年份、月份和日期的格式。
二、格式化字元串的含義
datetime.strptime函數的第二個參數即格式化字元串指定了要轉換的字元串的格式。
- %Y:4位數年份,例如2021
- %m:2位數月份,例如01表示1月
- %d:2位數日,例如01表示1日
- %H:24小時制小時數,例如10表示上午10點
- %M:分鐘數
- %S:秒數
除了上述常用的格式化字元,還有其他許多格式化字元可供使用。使用這些格式化字元串,可以將許多不同的字元串格式轉換為datetime對象。
三、更多示例
除了基本用法和格式化字元串的含義之外,datetime.strptime函數還可以用於處理更複雜的字元串格式。以下是一些更有趣的示例。
1、轉換為星期幾
from datetime import datetime date_string = "2021-01-01" date_obj = datetime.strptime(date_string, "%Y-%m-%d") weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] weekday_index = date_obj.weekday() # 獲取星期幾的下標 weekday_string = weekdays[weekday_index] # 根據下標獲得星期幾的字元串 print(weekday_string) # Friday
上述代碼將日期”2021-01-01″轉換為datetime對象,並將星期幾轉換為字元串。使用weekday()函數可以獲得星期幾的下標,將下標作為列表的索引即可獲得星期幾的字元串。
2、轉換為時間戳
from datetime import datetime date_string = "2021-01-01 00:00:00" date_obj = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") timestamp = int(date_obj.timestamp()) print(timestamp) # 1609459200
上述代碼將日期時間”2021-01-01 00:00:00″轉換為datetime對象,並將其轉換為時間戳。使用timestamp()函數可以獲得對應的時間戳,但是要注意將其轉換為整型數據類型。
3、從中文字元串中轉換
from datetime import datetime date_string = "2021年01月01日" date_obj = datetime.strptime(date_string, "%Y年%m月%d日") print(date_obj) # 2021-01-01 00:00:00
上述代碼將中文日期字元串”2021年01月01日”轉換為datetime對象。注意,格式化字元串中的中文字元要和字元串中的中文字元一致。
4、從英文字元串中轉換
from datetime import datetime date_string = "January 1, 2021" date_obj = datetime.strptime(date_string, "%B %d, %Y") print(date_obj) # 2021-01-01 00:00:00
上述代碼將英文日期字元串”January 1, 2021″轉換為datetime對象。注意,”%B”表示英文月份的全稱。
四、總結
datetime.strptime函數是將字元串轉換為datetime對象的重要方法,可以根據不同的格式化字元串轉換各種不同格式的字元串。本文介紹了datetime.strptime函數的基本用法、格式化字元串的含義以及更多示例,希望能對讀者理解並使用該函數有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/233659.html