[Python]文字列を日時に変換する方法 日付と時間の操作

日時操作は、プログラミングにおいて非常に重要な要素の一つです。特に、Webアプリケーションの開発においては、ユーザーからの入力情報を日時として扱うことが多いため、日時操作の知識が必須となります。

Pythonで日時を扱うモジュール「datetime」の紹介

Pythonでは、日時を扱うための標準モジュールとして「datetime」が用意されています。datetimeモジュールには、日時の加減算や書式の変換など、多くの日時操作に必要な機能が含まれています。

文字列を日時に変換する方法の基本的な手順

日時を扱うためには、まずは文字列として入力された日時情報を、datetimeモジュールが扱える形式に変換する必要があります。基本的な手順は以下の通りです。

import datetime
# 文字列をdatetimeオブジェクトに変換
datetime_obj = datetime.datetime.strptime("2022-01-01 12:00:00", "%Y-%m-%d %H:%M:%S")
# datetimeオブジェクトを文字列に変換
str_obj = datetime_obj.strftime("%Y-%m-%d %H:%M:%S")

strptimeメソッドは、文字列をdatetimeオブジェクトに変換するためのメソッドです。引数には、変換元の文字列と、文字列の書式を指定します。書式指定子には、例えば「%Y」は年を表すなど、文字列の中に含まれる日時情報を指定します。

strftimeメソッドは、datetimeオブジェクトを文字列に変換するためのメソッドです。引数には、変換後の文字列の書式を指定します。

datetimeモジュールのstrftimeとstrptimeメソッドについて

strftimeメソッドとstrptimeメソッドには、それぞれ多くの書式指定子が用意されています。以下に代表的な指定子をまとめました。

書式指定子 説明
%Y 年(4桁)
%m 月(2桁)
%d 日(2桁)
%H 時(24時間制、2桁)
%M 分(2桁)
%S 秒(2桁)

実例を用いた文字列から日時への変換の方法

以下に、具体的な例を示します。

import datetime
# 文字列をdatetimeオブジェクトに変換
datetime_obj = datetime.datetime.strptime("2022-01-01 12:00:00", "%Y-%m-%d %H:%M:%S")
# datetimeオブジェクトを文字列に変換
str_obj = datetime_obj.strftime("%Y-%m-%d %H:%M:%S")
print(datetime_obj) # 2022-01-01 12:00:00
print(type(datetime_obj)) # <class 'datetime.datetime'>
print(str_obj) # 2022-01-01 12:00:00
print(type(str_obj)) # <class 'str'>

日時操作の応用例とその活用方法

Pythonのdatetimeモジュールを活用することで、日時操作に関する多くの処理が簡単に実行できます。例えば、以下のような応用例があります。

  • 日付の加減算
  • 日付の比較
  • 曜日の取得
  • 日付の書式変換

まとめ

Pythonのdatetimeモジュールを用いることで、文字列から日時への変換や、日時の加減算など、日時操作に関する多くの処理を簡単に実行できます。Webアプリケーション開発においては、日時操作の知識が必須となるため、この記事を参考に、日時操作の基本を身につけましょう。