Python で文字列を DateTime に変換、またはその逆に変換する

多くのプログラミング アプリケーションで共通して必要となるのは、日付と時刻を扱うことです。 Python には、日付と時刻の変換の処理を簡素化する強力なツールとパッケージがあります。この記事では、日付と時刻の値を効果的に操作し、書式設定する方法を検討します。 パイソン 変換することで 文字列から日付時刻へ オブジェクトとバック。この記事は 2 つの部分に分けて説明します。

  • Python 文字列を DateTime に変換する
  • Python 日時を文字列に変換する

文字列をDateTimeに変換するにはどうすればよいですか?

Python では、ユーザーが日付を文字列として入力できることがありますが、これは日付と時刻の操作を実行できないためです。時差、日付の比較、タイムゾーンの操作などの操作は、文字列日付では実行できません。

2 つのメソッドを使用して文字列を日付に変換するプロセスを見てみましょう。

  Input:   Dec 4 2018 10:07 AM    Output:   2018-12-04 10:07:00   Explanation:   In this, we are converting the string to Date Time. 

1. Datetime.Strptime() を使用して文字列を Datetime に変換します。

Strptime() で利用可能です 日付時刻 モジュールであり、日付と時刻の変換に使用されます。この関数は指定された値を変更します 日時の文字列 希望の形式に変換します。

例: プログラムは、形式で表される日付と時刻を変換する関数を定義します。 文字列を日付時刻に変換する 目的の形式を使用してオブジェクトを作成します。変換は、datetime.strptime() メソッドを使用して実行されます。

Python3




import> datetime> > # Function to convert string to 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 4 2018 10:07AM'> print> (convert(date_time))> print> (> type> (convert(date_time)))>

出力:

2018-12-04 10:07:00 ) 

2. を使用して文字列を日時に変換します Dateutil モジュール

Dateutil サードパーティ製モジュールです。 Dateutil モジュールは、任意の文字列形式の日付の解析をサポートします。現在の世界のタイムゾーンに関する内部情報は、このモジュールによって提供されます。 解析() Python 文字列を日付/時刻形式に変換できます。使用される唯一のパラメータは文字列です。

例: プログラムは、変換のために dateutil ライブラリのパーサー モジュールをインポートします。 文字列を日付時刻に変換する 日付と時刻の文字列を解析する機能があります。 Parser.parse() 関数は形式を自動的に認識し、文字列 Jun 23 2022 07:31 PM を DateTime オブジェクトに変換します。

Python3




from> dateutil> import> parser> > DT> => parser.parse(> 'Jun 23 2022 07:31PM'> )> > print> (DT)> print> (> type> (DT))>

出力:

2022-06-23 19:31:00 

続きを読む: 文字列からPythonの日時を作成する

日時を文字列に変換するには?

レポート、カスタム書式設定、表示用の書式設定など、さまざまな目的のために DateTime を文字列に変換することもできます。日時を文字列に変換するさまざまな方法を見てみましょう。

  Input:   2018-12-04 10:07:00    Output:   Dec 4 2018 10:07:00AM    Explanation:   In this, we are converting the datetime format to the string 

1. 日時を文字列 u に変換します。 歌うTime.strftime()

パイソン strftime() 関数はに存在します 日付時刻 モジュールを使用して、指定された形式文字列に基づいて文字列表現を作成します。このメソッドを使用して変換しています 日時を文字列に変換 Pythonで。

Python 時間モジュールでは、タプルまたは struct_time オブジェクトを format 引数で指定された文字列に変換する同様の関数も利用できます。

例: プログラム 改宗する 日時を文字列に変換 そして、時間関連のアクティビティを処理するための関数を提供する Python 時間モジュールをインポートします。 Convert() 関数は、タプル datetime_str を入力として受け取り、time.mktime() を使用してタイムスタンプに変換し、指定された形式 %b%d%Y%r を使用してタイムスタンプを文字列表現にフォーマットします。

Python3




import> time> > # Function to convert string to datetime> def> convert(datetime_str):> > datetime_str> => time.mktime(datetime_str)> > format> => '%b %d %Y %r'> > dateTime> => time.strftime(> format> , time.gmtime(datetime_str))> > return> dateTime> > date_time> => (> 2018> ,> 12> ,> 4> ,> 10> ,> 7> ,> 00> ,> 1> ,> 48> ,> 0> )> print> (convert(date_time))> print> (> type> (convert(date_time)))>

出力:

Dec 04 2018 04:37:00 AM 

時間計算量: ○(1)
補助スペース: ○(1)

もっと詳しく知る: Python で strftime() を使用して日付をフォーマットする方法

2. 日時を文字列に変換する 日時を使用して

datetime モジュールを次の場所に移動します 日時を文字列に変換する 指定された日付と時刻を使用して、日時オブジェクトを作成します。 datetime オブジェクトの書式設定要件の概要を示す書式文字列を作成します。

希望の形式で文字列を作成するには、DateTime オブジェクトの strftime() メソッドを使用します。フォーマット文字列は strftime() 関数の引数です。

例: このプログラムは datetime モジュールをインポートします。これにより、Python プログラマーは日付と時刻を操作するためのクラスにアクセスできるようになります。指定された日付と時刻の値 (2022 年 3 月 14 日 15:30:00) は、datetime オブジェクトの生成に使用されます。 datetime オブジェクトは、strftime() メソッドを使用してフォーマット文字列に基づいて文字列表現に変換されます。

Python3




import> datetime> > datetime_object> => datetime.datetime(> 2022> ,> 3> ,> 14> ,> 15> ,> 30> ,> 0> )> > format_string> => '%Y-%m-%d %H:%M:%S'> > # Convert the datetime object to a string in the specified format> date_string> => datetime_object.strftime(format_string)> > print> (date_string)> print> (> type> (date_string))>

出力:

2022-03-14 15:30:00 

時間計算量: ○(1)
補助スペース: ○(1)

この記事では、文字列を日付時刻に、またはその逆に変換する方法について説明しました。日時を文字列に、またはその逆に変換することは、プログラミングにおいて非常に便利で便利です。これらのメソッドを使用して、日時を文字列に変換したり、その逆を行うことができます。

こちらもお読みください: