logo

文字列Pythonから日付を解析する

導入: この記事では、Python の文字列からの日付の解析について説明します。 Python で文字列を日時に変換するには、strptime() メソッドを使用します。 strptime() は、日付/時刻の文字列表現を datetime オブジェクトに変換するために使用される datetime クラスの組み込みメソッドです。

文字列Pythonから日付を解析する構文: 文字列Pythonから解析された日付の構文は以下のとおりです。

 datetime.strptime(date_string, format) 

datetime - クラス名です。

strptime - メソッド名です。

date_string - 日付の文字列表現です。

形式 - 日付オブジェクトの指定された形式です。

文字列Pythonから解析された日付のパラメータ: 文字列 Python から解析された日付のパラメーターは、必須の引数と文字列の両方を受け入れる strptime() 関数です。 strptime() 関数は、日時オブジェクトを文字列に変換する strftime() 関数の正反対です。

方法: Python で指定された文字列を DateTime に変換する Python アプリケーションを作成します。このテキストで説明できる方法は以下のとおりです。

  1. 日時モジュールの使用
  2. タイムモジュールの使用
  3. dateutil モジュールの使用

1.日時モジュールの使用: このために、datetime.strptime() 関数を使用します。 strptime() は DateTime モジュールと Time モジュールで使用でき、日時の変換に使用されます。この関数は、指定された文字列を日時から目的の形式に変更します。日付時刻。 strptime() は、文字列を日時に解析する一般的な方法です。指定されたフォーマット文字列で定義された任意のフォーマットを処理できます。

例 1: ここでは、Python の datetime モジュールの例を示します。例を以下に示します。

 import datetime def convert(date_time): format = '%b %d %Y %I:%M%p' datetime_str = datetime.datetime.strptime(date_time, format) return datetime_str date_time = 'Dec 7 2022 10:46AM' print(convert(date_time)) 

出力: ここで、上記のプログラムをコンパイルし、コンパイル後に上記のプログラムを実行します。結果は以下のようになります -

 2022-12-07 10:46:00 

例 2: ここでは、Python の datetime モジュールの例を示します。例を以下に示します。

 import datetime date_str = '07/12/2022' format_str = '%d/%m/%Y' datetime_obj = datetime.datetime.strptime(date_str, format_str) print(datetime_obj.date()) 

出力: ここで、上記のプログラムをコンパイルし、コンパイル後に上記のプログラムを実行します。結果は以下のようになります -

 2022-12-07 

例 3: ここでは、Python の datetime モジュールの例を示します。例を以下に示します。

 from datetime import datetime my_date_string = 'May 05 2000 11:07PM' datetime_object = datetime.strptime(my_date_string, '%b %d %Y %I:%M%p') print(type(datetime_object)) print(datetime_object) 

出力: ここで、上記のプログラムをコンパイルし、コンパイル後に上記のプログラムを実行します。結果は以下のようになります -

 2000-05-05 23:07:00 

strptime() を使用して、文字列形式の日付と時刻を datetime 型に変換できます。最初のパラメータは文字列で、2 番目のパラメータは日付と時刻の形式指定子です。日付形式に変換する利点は、月、日付、または時刻を個別に選択できることです。ディレクティブと strptime() の詳細については、「Python strptime() - 文字列から日時オブジェクトへ」を参照してください。

2. 時間モジュールの使用: Python 関数 strftime() は datetime モジュールと time モジュールにあり、指定された形式文字列に基づいて文字列表現を構築します。

例 1: ここでは、Python の time モジュールの例を示します。例を以下に示します。

 import time def convert(datetime_str): datetime_str = time.mktime(datetime_str) format = '%b %d %Y %r' # The format dateTime = time.strftime(format, time.gmtime(datetime_str)) return dateTime date_time = (2000, 5, 5, 10, 7, 00, 1, 48, 0) print(convert(date_time)) 

出力: ここで、上記のプログラムをコンパイルし、コンパイル後に上記のプログラムを実行します。結果は以下のようになります -

 May 05 2000 04:37:00 AM 

3. dateutil モジュールの使用: dateutil はサードパーティのモジュールです。 dateutil モジュールは、任意の文字列形式での日付の解析をサポートします。このモジュールは、現在の世界のタイムゾーンに関する内部情報を提供します。最近、パーサー関数を備え、Python 3 に適合した dateutil 2.0 がリリースされました。parse() を使用して文字列を日時形式に変換できます。使用される唯一のパラメータは文字列です。

例 1: ここでは、Python の dateutil モジュールの例を示します。例を以下に示します。

 from dateutil import parser date_time = parser.parse('May 05 2000 07:59PM') print(date_time) print(type(date_time)) 

出力: ここで、上記のプログラムをコンパイルし、コンパイル後に上記のプログラムを実行します。結果は以下のようになります -

 2000-05-05 19:59:00