datetime型からdate型のオブジェクトを作成する
datetime の date メソッドを使用すると date型 の値を返します。元の値は変更されず、新しいオブジェクトを返します。date型の値 = datetimeオブジェクト.date()
次のサンプルコードは 日時を指定して datetime型 の値を生成し、date型 にしています。
import datetime
# 日時を指定してdatetime型のインスタンス生成
datetimeValue = datetime.datetime(2099, 1, 31, 23, 59, 1)
# 結果 = 2099-01-31 23:59:01
print(f' datetimeValue(datetime型) -> {datetimeValue}')
# datetime型からdate型のインスタンス生成
dateValue = datetimeValue.date()
# 結果 = 2099-01-31
print(f' dateValue(date型) -> {dateValue}')
年・月・日を数値で個別に取得する
yearプロパティ、monthプロパティ、dayプロパティ を使用すると、年・月・日を数値型で返します。年(1~9999) = datetimeオブジェクト.year
月(1~12) = datetimeオブジェクト.month
日(1~31) = datetimeオブジェクト.day
次のサンプルコードは 日時を指定して datetime型 の値を生成し、年・月・日を表示します。
import datetime
# 日時を指定してdatetime型のインスタンス生成
datetimeValue = datetime.datetime(2099, 1, 31, 23, 59, 1)
# 結果 = 2099-01-31 23:59:01
print(f' datetimeValue -> {datetimeValue}')
# 年(結果 = 2099)
print(f' datetimeValue.year -> {datetimeValue.year}')
# 月(結果 = 1)
print(f' datetimeValue.month -> {datetimeValue.month}')
# 日(結果 = 31)
print(f' datetimeValue.day -> {datetimeValue.day}')
フォーマットを指定して文字列にする
strftime メソッドの引数にフォーマットを指定すると、フォーマット通りの文字列を返します。フォーマットされた文字列 = datetimeオブジェクト.strftime(フォーマット)
次のコードは strftimeメソッド を使用し、フォーマットされた日付を表示します。
import datetime
# 日時を指定してdatetime型のインスタンス生成
datetimeValue = datetime.datetime(2099, 1, 2, 23, 59, 1)
# 結果 = 2099年01月02日
print(datetimeValue.strftime('%Y年%m月%d日'))
# 結果 = 2099/01/02
print(datetimeValue.strftime('%Y/%m/%d'))
# 結果 = 990102
print(datetimeValue.strftime('%y%m%d'))
ディレクティブ | 意味 | 例 |
---|---|---|
%d | 日にち | 01, 02, ..., 31 |
%m | 月 | 01, 02, ..., 12 |
%y | 2桁の西暦 | 00, 01, ..., 99 |
%Y | 4桁の西暦 | 0001, 0002, ..., 9999 |
%H | 0埋めした2桁の時 (24時間表記) | 00, 01, ..., 23 |
%I | 0埋めした2桁の時 (12時間表記) | 01, 02, ..., 12 |
%M | 0埋めした2桁の分 | 00, 01, ..., 59 |
%S | 0埋めした2桁の秒 | 00, 01, ..., 59 |
%f | 0埋めした6桁のマイクロ秒 | 000000, 000001, ..., 999999 |
%% | 文字 '%' | % |
ディレクティブ | 意味 | 例 |
---|---|---|
%b | 月名の短縮形 | Jan, Feb, ..., Dec(en_USの場合) |
%B | 月名 | January, February, ..., December(en_USの場合) |
%p | AM,またはPM | AM, PM(en_USの場合) |
参考資料
- Python公式ドキュメント - datetime --- 基本的な日付型および時間型
- Python公式ドキュメント - datetime.date()
- Python公式ドキュメント - datetime.year / datetime.month / datetime.day
- Python公式ドキュメント - datetime.strftime(format)
検証環境
- Python 3.11.0 (main, Oct 24 2022, 18:26:48) [MSC v.1933 64 bit (AMD64)] on win32
- Microsoft Windows 10 Pro Version 21H2 OS Build 19044.2130 Experience: Windows Feature Experience Pack 120.2212.4180.0