ホームページ >バックエンド開発 >Python チュートリアル >Python で ISO 8601 の日付と時刻を効率的に解析するにはどうすればよいですか?

Python で ISO 8601 の日付と時刻を効率的に解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-21 09:31:11372ブラウズ

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

python-dateutil** を使用した ISO 8601 の日付と時刻の解析

次のような ISO 8601 形式の日付と時刻の文字列を簡単に解析するには「2008-09-03T20:56:35.450686Z」を Python の日時型に変換するには、python-dateutil パッケージの dateutil.parser.isoparse 関数の使用を検討してください。

アイソパースFunction

isoparse 関数は、RFC 3339 仕様に準拠していない文字列 (例: UTC オフセットのない文字列や日付のみの文字列など) を含む、さまざまな ISO 8601 の日付と時刻の文字列を解釈します。

使用法:

>>> 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**

の代替 python-dateutil パッケージも提供しますdateutil.parser.parse。これはそれほど厳密ではなく、解釈を試みる可能性があります。精度を最大限に高めるには、より厳密なパーサーの使用を検討してください。

Python の組み込みの注意事項 datetime.datetime.fromisoformat**

3.10 より前の Python バージョンでは、fromisoformat は完全な ISO-8601 パーサーではありません。 Python 3.11 では、ISO 8601 をほぼ完全にサポートしていますが、いくつかの制限があります。具体的な詳細については、公式ドキュメントを参照してください。

以上がPython で ISO 8601 の日付と時刻を効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。