使用python-dateutil**
解析ISO 8601 日期和時間時間字串,如“2008- 09-03T20:56:35.450686Z」進入Python datetime 類型,請考慮使用 python-dateutil 套件的
dateutil.parser.isoparse套件的 dateutil.parser.isoparse 函數。
isoparse 函數
isoparse 函數解釋各種ISO 8601 日期和時間字串,甚至那些不符合RFC 3339 規範的字串(例如,沒有UTC 偏移量的字串或僅日期字串)。
>>> import dateutil.parser >>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686Z') # RFC 3339 format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686, tzinfo=tzutc()) >>> dateutil.parser.isoparse('2008-09-03T20:56:35.450686') # ISO 8601 extended format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686) >>> dateutil.parser.isoparse('20080903T205635.450686') # ISO 8601 basic format datetime.datetime(2008, 9, 3, 20, 56, 35, 450686) >>> dateutil.parser.isoparse('20080903') # ISO 8601 basic format, date only datetime.datetime(2008, 9, 3, 0, 0)
用法:
isoparse**的替代品
isoparse**的替代品isoparse**
的替代品python-date>包還提供了dateutil.parser.parse
,它不太嚴格,可能會嘗試解釋。為了獲得最大的準確性,請考慮使用更嚴格的解析器。 Python 內建的注意事項datetime.datetime.fromisoformat**在3.10 之前的Python 版本中,fromisoformat 不是一個完整的ISO -8601 解析器。在Python 3.11中,它幾乎完全支援ISO 8601,但仍保留一些限制。具體細節請查閱官方文件。以上是如何在 Python 中高效解析 ISO 8601 日期和時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!