日付(年/月/日)と時刻(時/分/秒)の値を取得する

datetime クラスや date クラスのインスタンスから年や月などの日時に関する値や、分や秒など時刻に関する値を取り出して取得する方法について解説します。

(Last modified: )

属性値を参照する

日付と時刻の値を持つ datetime クラスではインスタンス毎に次の属性を参照することができます。

datetime.year        : 年
datetime.month       : 月
datetime.day         : 日
datetime.hour        : 時
datetime.minute      : 分
datetime.second      : 秒
datetime.microsecond : マイクロ秒
datetime.tzinfo      : タイムゾーン
datetime.fold        : 0 or 1

具体的には次のように記述します。

import datetime

dt = datetime.datetime.now()
print(dt)
>> 2020-07-22 12:06:25.559839

print(dt.year)
>> 2020

print(dt.minute)
>> 6

datetime クラスと同じように date クラスや time クラスでも属性値を参照することができます。

日付の値を持つ date クラスではインスタンス毎に次の属性を参照することができます。

date.year        : 年
date.month       : 月
date.day         : 日

時刻の値を持つ time クラスではインスタンス毎に次の属性を参照することができます。

time.hour        : 時
time.minute      : 分
time.second      : 秒
time.microsecond : マイクロ秒
time.tzinfo      : タイムゾーン
time.fold        : 0 or 1
サンプルコード

次のサンプルを見てください。

import datetime

tokyo_tz = datetime.timezone(datetime.timedelta(hours=9))
dt = datetime.datetime.now(tokyo_tz)

print(dt)
>> 2020-11-13 22:35:16.464917+09:00
print("year : " + str(dt.year))
>> year : 2020
print("month : " + str(dt.month))
>> month : 11
print("day : " + str(dt.day))
>> day : 13
print("hour : " + str(dt.hour))
>> hour : 22
print("minute : " + str(dt.minute))
>> minute : 35
print("second : " + str(dt.second))
>> second : 16
print("microsecond : " + str(dt.microsecond))
>> microsecond : 464917
print("tzinfo : " + str(dt.tzinfo))
>> tzinfo : UTC+09:00

datetime クラスのインスタンスから月や秒などの属性値を参照して出力しました。

-- --

datetime クラスや date クラスのインスタンスから年や月などの日時に関する値や、分や秒など時刻に関する値を取り出して取得する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。