PythonのDatetimeモジュールの概要
PythonのDatetimeモジュールは日付や時間を扱うための機能が集められたものです。日付や時間を扱うためには、Datetimeモジュールを使うことが一般的です。
Datetime Formatの基本的な使い方
Datetime Formatは、日付や時間を表現するための書式です。Datetimeモジュールのstrftime関数を使用することで、Datetime Formatを使うことができます。
import datetime
# 現在の日付・時間を取得
now = datetime.datetime.now()
# Datetime Formatによる表示
print(now.strftime('%Y/%m/%d %H:%M:%S'))
上記のコードでは、現在の日付・時間を取得し、Datetime Formatによる表示を行っています。Datetime Formatにおけるフォーマットコードの例として、%Yは年、%mは月、%dは日、%Hは時、%Mは分、%Sは秒を表します。
Datetime Formatで使用できる代表的なフォーマットコード
Datetime Formatで使用できる代表的なフォーマットコードについて紹介します。
| フォーマットコード | 説明 |
|---|---|
| %Y | 年 |
| %m | 月 |
| %d | 日 |
| %H | 時 |
| %M | 分 |
| %S | 秒 |
| %f | マイクロ秒 |
| %a | 曜日(短縮形) |
| %A | 曜日(完全形) |
| %b | 月(短縮形) |
| %B | 月(完全形) |
| %p | AM/PM |
| %z | タイムゾーンオフセット |
| %Z | タイムゾーン名 |
| %j | 年内の日数 |
| %U | 年内の週番号(日曜始まり) |
| %W | 年内の週番号(月曜始まり) |
Datetime Formatを使った日付・時間の表示方法
Datetime Formatを使った日付・時間の表示方法について紹介します。
import datetime
# 現在の日付・時間を取得
now = datetime.datetime.now()
# Datetime Formatによる表示
print(now.strftime('%Y/%m/%d %H:%M:%S'))
# 日付のみの表示
print(now.strftime('%Y/%m/%d'))
# 時間のみの表示
print(now.strftime('%H:%M:%S'))
# 曜日の表示
print(now.strftime('%A'))
# AM/PM表記の表示
print(now.strftime('%p'))
# タイムゾーンオフセットの表示
print(now.strftime('%z'))
# タイムゾーン名の表示
print(now.strftime('%Z'))
上記のコードでは、現在の日付・時間を取得し、Datetime Formatを使った日付・時間の表示を行っています。
Datetime Formatにおける時間帯の扱い方
Datetime Formatにおける時間帯の扱い方について紹介します。
import datetime
# 現在の日付・時間を取得
now = datetime.datetime.now()
# UTC時間の表示
print(now.strftime('%Y-%m-%d %H:%M:%S UTC'))
# JST時間の表示
jst = datetime.timezone(datetime.timedelta(hours=9), 'JST')
print(now.astimezone(jst).strftime('%Y-%m-%d %H:%M:%S JST'))
上記のコードでは、現在の日付・時間を取得し、UTC時間とJST時間の表示を行っています。UTCは世界協定時刻、JSTは日本標準時を表しています。
Datetime Formatを用いた日付・時間の計算方法
Datetime Formatを用いた日付・時間の計算方法について紹介します。
import datetime
# 現在の日付・時間を取得
now = datetime.datetime.now()
# 1日後の日付を計算
tomorrow = now + datetime.timedelta(days=1)
print(tomorrow.strftime('%Y/%m/%d'))
# 1時間後の時刻を計算
next_hour = now + datetime.timedelta(hours=1)
print(next_hour.strftime('%H:%M:%S'))
# 10分後の時刻を計算
ten_minutes_later = now + datetime.timedelta(minutes=10)
print(ten_minutes_later.strftime('%H:%M:%S'))
上記のコードでは、現在の日付・時間を取得し、1日後の日付、1時間後の時刻、10分後の時刻を計算しています。
まとめ
PythonのDatetimeモジュールを使うことで、日付や時間を扱うことができます。Datetime Formatを使うことで、日付や時間を表現するための書式を指定することができます。Datetime Formatにおけるフォーマットコードを覚えておくことで、日付や時間の表示方法を自由自在にコントロールすることができます。



![[Python]日付の取得(前日、今日(本日))](https://machine-learning-skill-up.com/knowledge/wp-content/uploads/2023/12/1-1387.jpg)

