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

ISO 8601 文字列を Python 日時オブジェクトに効率的に解析するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-18 03:46:15211ブラウズ

How to Efficiently Parse ISO 8601 Strings into Python datetime Objects?

ISO 8601 文字列を Python 日時オブジェクトに解析する方法

ISO 8601 は、日付と時刻を表すために広く使用されている標準です。データ交換や Web サービスでよく使用されます。ただし、ISO 8601 文字列を Python 日時オブジェクトに解析するのは少し難しい場合があります。

ハック的なアプローチ

一般的なアプローチの 1 つは、time.strptime() 関数を使用することです。文字列を解析します。ただし、このアプローチは退屈でエラーが発生しやすい可能性があります。以下に例を示します。

datetime.datetime(*time.strptime("2009-05-28T16:15:00", "%Y-%m-%dT%H:%M:%S")[:6])

よりクリーンなソリューション

幸いなことに、ISO 8601 文字列を解析するより洗練された方法があります。 dateutil ライブラリには、parser.parse() という便利な関数が用意されています。

from dateutil import parser

yourdate = parser.parse("2009-05-28T16:15:00")

この関数は、タイムゾーンを含む文字列を含む、幅広い ISO 8601 形式を処理できます。

例使用法

parser.parse() の使用方法の例をいくつか示します。 function:

# Parse a basic ISO 8601 string
dateutil.parser.parse("2009-05-28T16:15:00Z")

# Parse a string with a timezone offset
dateutil.parser.parse("2009-05-28T16:15:00-05:00")

# Parse a string with a fractional second
dateutil.parser.parse("2009-05-28T16:15:00.123Z")

parser.parse() 関数は、Python コードで使用できる日時オブジェクトを返します。

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

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