首頁 >後端開發 >Python教學 >Python 的「dateutil.parser.isoparse」如何有效處理各種 ISO 8601 日期和時間格式?

Python 的「dateutil.parser.isoparse」如何有效處理各種 ISO 8601 日期和時間格式?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-28 13:50:40717瀏覽

How can Python's `dateutil.parser.isoparse` efficiently handle various ISO 8601 date and time formats?

使用Python的dateutil.parser.isoparse解析ISO 8601日期與時間

將ISO 8601日期和時間

將ISO 8601日期和時間字串解析為Python的datetime類型可以是具有挑戰性,尤其是在使用Python 標準庫的strptime 時。

解決方案:使用 python-dateutil 的 isoparse 函數

  • python-dateutil 套件透過其 dateutil.parser.isoparse 函數提供了一個方便的解決方案。 Isoparse 擅長處理各種ISO 8601 格式,包含:
  • RFC 3339 日期時間字串(例如「2008-09-03T20:56:35.450686Z」)
  • 格式(例如。, "2008-09-03T20:56:35.450686")
  • 基本 ISO 8601 格式(例如,「20080903T205635.450686」)
僅日期"20080903")

import dateutil.parser

iso_datetime = "2008-09-03T20:56:35.450686Z"
print(dateutil.parser.isoparse(iso_datetime))  # datetime with UTC timezone

iso_extended = "2008-09-03T20:56:35.450686"
print(dateutil.parser.isoparse(iso_extended))  # datetime without timezone

iso_basic = "20080903T205635.450686"
print(dateutil.parser.isoparse(iso_basic))  # datetime without timezone

iso_date = "20080903"
print(dateutil.parser.isoparse(iso_date))  # date
示範各種ISO 8601 格式解析的範例:

附加說明

附加說明附加說明附加說明Python 3.7 引入了 datetime.datetime.fromisoformat,它解析 ISO 8601 字串的子集。在Python 3.11中,它支援幾乎所有有效的ISO 8601格式。然而,在靈活性和某些邊緣情況的解釋方面,它可能仍然與 isoparse 不同。

以上是Python 的「dateutil.parser.isoparse」如何有效處理各種 ISO 8601 日期和時間格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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