首頁 >後端開發 >Python教學 >如何在 Python 中高效解析 ISO 8601 日期和時間?

如何在 Python 中高效解析 ISO 8601 日期和時間?

Patricia Arquette
Patricia Arquette原創
2024-12-21 09:31:11308瀏覽

How Can I Efficiently Parse ISO 8601 Dates and Times in Python?

使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn