現在の日付と時刻の値を持つインスタンスを作成する

datetime クラスや date クラスで用意されている now メソッドを使用することで、現在の日付と時刻の値を持つインスタンスを作成して利用することができます。ここでは現在の日付と時刻の値を持つインスタンスを作成する方法について解説します。

(Last modified: )

現在の日付と時刻の値を取得する

現在の日付と時刻の値を持つ datetime クラスのインスタンスを生成するには、 datetime クラスの now メソッドを使用します。

datetime.now(tz=None)

引数を省略した場合はローカルにおける現在の日付と時刻を持つインスタンスが作成され、引数に timezone クラスのインスタンスを指定した場合はタイムゾーンの情報を持つインスタンスが作成されます。

※ タイムゾーンについては「タイムゾーンのインスタンスを生成する」を参照されてください。

具体的には次のように記述します。 datetime クラスは datetime モジュールに含まれます。

import datetime

dt1 = datetime.datetime.now()
print(dt1)
>> 2020-07-22 05:34:09.960169

tz_tokyo = datetime.timezone(datetime.timedelta(hours=9))
dt2 = datetime.datetime.now(tz_tokyo)
print(dt2)
>> 2020-07-22 05:34:09.977525+09:00

datetime クラスの today メソッドでも同じようにローカルにおける現在の日付と時刻を持つインスタンスが作成することができます。 today メソッドの場合は引数でタイムゾーンを指定することはできません。

datetime.today()

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

import datetime

dt = datetime.datetime.today()
print(dt)
>> 2020-07-22 05:35:17.438046

現在の日付の値を取得する

現在の日付の値を持つ date クラスのインスタンスを生成するには、 date クラスの today メソッドを使用します。( date クラスは naive オブジェクトですのでタイムゾーンの情報を持つインスタンスは生成するメソッドは用意されていません)。

date.today()

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

import datetime

dt = datetime.date.today()
print(dt)
>> 2020-07-22
サンプルコード

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

import datetime

print(datetime.date.today())
>> 2020-11-13
print(datetime.datetime.now())
>> 2020-11-13 22:33:33.591286

tokyo_tz = datetime.timezone(datetime.timedelta(hours=9))
print(datetime.datetime.now(tokyo_tz))
>> 2020-11-13 22:33:40.758253+09:00

ny_tz = datetime.timezone(datetime.timedelta(hours=-4))
print(datetime.datetime.now(ny_tz))
>> 2020-11-13 09:33:47.248577-04:00

datetime クラスや date クラスの now メソッドや today メソッドを使って現在の日付と時刻の値を持つインスタンスを作成しました。

-- --

現在の日付と時刻の値を持つインスタンスを作成する方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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