[Python]Datetime Formatの使い方:基本から応用まで

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におけるフォーマットコードを覚えておくことで、日付や時間の表示方法を自由自在にコントロールすることができます。