[Python]Datetime Format活用法 ミリ秒の表記 変換方法 確認

Pythonには、日付や時間を扱うdatetimeモジュールがあります。このモジュールを使うことで、日付や時間を簡単に扱うことができます。

Datetimeのformat表記法とは

Datetimeオブジェクトは、strftimeメソッドを使って、日付や時間のフォーマットを指定することができます。

例えば、以下のようなフォーマット指定子を使うことで、日付や時間を指定したフォーマットで表示することができます。

  • %Y: 年(4桁の数字)
  • %m: 月(2桁の数字)
  • %d: 日(2桁の数字)
  • %H: 時間(24時間表記、2桁の数字)
  • %M: 分(2桁の数字)
  • %S: 秒(2桁の数字)

ミリ秒の表記方法

Datetimeオブジェクトを使って、ミリ秒を表記するには、以下のようにフォーマット指定子を使います。

%f: マイクロ秒(6桁の数字)

しかし、ミリ秒を表記するためには、このフォーマット指定子を1000で割った値を使う必要があります。

%f: マイクロ秒(6桁の数字)/ 1000

Datetimeを別のformatに変換する方法

Datetimeオブジェクトを別のフォーマットに変換するには、strftimeメソッドを使います。

例えば、以下のように書くことで、現在の日付と時刻を「年-月-日 時:分:秒」の形式で表示することができます。

import datetime
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)

実行結果:

2021-01-01 12:34:56

Datetimeのformatを確認する方法

Datetimeオブジェクトのフォーマットを確認するには、strptimeメソッドを使います。

例えば、以下のように書くことで、文字列からDatetimeオブジェクトを作成し、そのフォーマットを確認することができます。

import datetime
date_string = "2021-01-01 12:34:56"
datetime_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print(datetime_object.strftime("%Y-%m-%d %H:%M:%S"))

実行結果:

2021-01-01 12:34:56

具体的な使用例とコード

Datetimeオブジェクトを使った具体的な使用例として、以下のようなコードがあります。

import datetime
import time
# 現在の日付と時刻を表示する
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("現在の日付と時刻:", formatted_date)
# 1秒待ってから再度現在の日付と時刻を表示する
time.sleep(1)
now = datetime.datetime.now()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("1秒後の日付と時刻:", formatted_date)
# 文字列からDatetimeオブジェクトを作成し、フォーマットを確認する
date_string = "2021-01-01 12:34:56"
datetime_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("Datetimeオブジェクトのフォーマット:", datetime_object.strftime("%Y-%m-%d %H:%M:%S"))
# ミリ秒を含むDatetimeオブジェクトを作成する
date_string = "2021-01-01 12:34:56.789"
datetime_object = datetime.datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S.%f")
print("Datetimeオブジェクトのフォーマット:", datetime_object.strftime("%Y-%m-%d %H:%M:%S.%f")[:-3])

実行結果:

現在の日付と時刻: 2021-01-01 12:34:56
1秒後の日付と時刻: 2021-01-01 12:34:57
Datetimeオブジェクトのフォーマット: 2021-01-01 12:34:56
Datetimeオブジェクトのフォーマット: 2021-01-01 12:34:56.789

まとめ

Datetimeオブジェクトを使って、日付や時間を簡単に扱う方法を紹介しました。strftimeメソッドを使ってフォーマットを指定し、strptimeメソッドを使ってフォーマットを確認することができます。また、ミリ秒を表記する場合は、マイクロ秒を1000で割った値を使う必要があります。

日付や時間を扱う場合には、datetimeモジュールを使って簡単に扱うことができるので、ぜひ活用してみてください。