Python Programming

Pythonによる日付時刻変換マスター

Spread the love

Pythonは、日付と時刻を扱うための強力なツールを提供します。多くの場合、日付と時刻の文字列をdatetimeオブジェクトに変換して、より容易に操作および分析する必要があります。この記事では、この変換を実現するためのさまざまな方法を、柔軟性とエラー処理に焦点を当てて解説します。

目次

datetime.strptime()の使用

datetime.strptime()関数は、文字列からdatetimeへの変換によく使用される方法です。2つの引数を取ります。

  1. date_string: 日付と時刻の情報を含む文字列。
  2. format: date_string内で日付と時刻がどのように表現されているかを指定するフォーマット文字列。

フォーマット文字列は、日付と時刻のさまざまな部分を表すディレクティブを使用します。いくつかの重要なディレクティブを以下に示します。

ディレクティブ 意味
%Y 西暦年(世紀を含む) 2024
%y 西暦年(世紀を含まない) 24
%m 月(01-12) 03
%d 月の曜日(01-31) 15
%H 時(24時間制、00-23) 14
%I 時(12時間制、01-12) 02
%p AM/PM PM
%M 分(00-59) 30
%S 秒(00-59) 00
%f マイクロ秒(000000-999999) 123456
%A 曜日名(完全) Monday
%a 曜日名(略) Mon
%B 月名(完全) March
%b 月名(略) Mar

フォーマット文字列内のディレクティブの順序は、日付文字列内の順序と一致する必要があります。


from datetime import datetime

date_string = "2024-03-15 14:30:00"
format = "%Y-%m-%d %H:%M:%S"

datetime_object = datetime.strptime(date_string, format)
print(datetime_object)  # 出力: 2024-03-15 14:30:00

代替変換方法

より複雑な、または標準的でない日付形式の場合、dateutilなどのライブラリを使用することを検討してください。


from dateutil import parser

date_string = "March 15th, 2024 2:30 PM"
datetime_object = parser.parse(date_string)
print(datetime_object)

堅牢なエラー処理

ValueError例外を処理するために、常にtry-exceptブロックでstrptimeをラップしてください。


try:
    datetime_object = datetime.strptime(date_string, format)
except ValueError as e:
    print(f"日付文字列の変換エラー: {e}")

さまざまな日付と時刻の形式の処理

さまざまな入力形式の場合、strptimeまたはdateutil.parserを適用する前に、文字列を前処理するか、正規表現を使用して日付コンポーネントを抽出する必要がある場合があります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です