Python 中 Datetime.date 類的 fromisoformat() 函式
Python 中的 datetime.date 類提供了一種方便的方式來表示和操作日期。fromisoformat() 方法允許您從 ISO 格式的字串建立日期物件。
fromisoformat() 函式將解析 ISO 8601 格式的字串,並建立一個表示該日期的日期物件。這在許多情況下都很有用,例如當您需要從日誌檔案中解析日期或與以 ISO 8601 格式提供日期的 API 協作時。
語法
datetime.date.fromisoformat(date_string)
引數 date_string 是一個字串,表示 ISO 格式“YYYY-MM-DD”的日期。
示例 1
我們將使用 fromisoformat() 方法從字串建立日期物件。
演算法
載入 datetime 模組
初始化一個包含 ISO 格式日期的字串變數
使用 fromisoformat() 函式將字串轉換為日期物件
列印日期物件
from datetime import date # date passed as string data type date_string = "2023-03-31" # Converts string object to a date object date_obj = date.fromisoformat(date_string) print(date_obj)
輸出
2023-03-31
當呼叫 fromisoformat() 時,ISO 格式的字串作為引數傳遞給該函式,該函式嚴格遵循“YYYY-MM-DD”格式。該字串會被解析,並且日期元件(年、月和日)會被提取。類似地,時間也可以透過小時、分鐘和秒來提取。如果解析的字串嚴格遵循 ISO 8601 格式,則會返回一個等效的 datetime 物件。
如果遵循的格式不符合 ISO 格式,則會引發 ValueError。這表示月、日和年沒有按照正確的順序排列或超出預期範圍。
示例 2
以下示例將儲存在列表中的多個字串物件(日期)轉換為日期物件。
演算法
匯入 datetime 模組
定義一個包含多個 ISO 格式字串的列表變數
建立一個空列表來儲存日期物件
迴圈遍歷列表中的每個字串,並使用 fromisoformat() 函式將其轉換為日期物件
將日期物件追加到列表中
將列表列印給使用者
import datetime date_strs = ['2022-01-01', '2022-01-02', '2022-01-03'] date_objs = [] for date_str in date_strs: date_objs.append(datetime.date.fromisoformat(date_str)) print(date_objs)
輸出
[datetime.date(2022, 1, 1), datetime.date(2022, 1, 2), datetime.date(2022, 1, 3)]
示例 3
以下示例將儲存在字串中的今天日期和當前時間轉換為日期物件。
演算法
匯入 datetime 和 time 模組
使用 date.today() 獲取今天日期的字串表示
列印 ISO 格式的今天日期字串
使用 date.fromisoformat() 函式將今天轉換為日期物件。
將日期物件列印給使用者。
from datetime import date
today= str(date.today());
print("Today's Date as string: %s" %today)
mydate = date.fromisoformat(today);
print(mydate);
輸出
Today's Date as string: 2023-05-20 2023-05-20
結論
使用此函式可以輕鬆高效地將包含 ISO 格式日期的字串轉換為日期物件,以便於進一步操作。
使用 fromisoformat() 函式可以避免手動解析 ISO 格式字串,而手動解析容易出錯。此外,此函式確保生成的日期物件有效且符合 ISO 標準。
此外,Python 的 datetime 模組包含 fromisoformat() 函式,並提供了一系列用於處理日期和時間的實用程式。此模組允許我們格式化日期、在不同的時區之間轉換以及執行各種日期和時間計算。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP