プログラミング

【Python】datetime.nowで日本時間の取得

【Python】datetime.nowで日本時間の取得

タイムゾーンを考慮せずdatetime.nowで日時を取得すると、実行環境のタイムゾーン設定に合わせて、日時が表示されます。

UTCな時間が取得されて、日本時間と9時間ずれているということが多いかと思います。

そんな時のためのdatetime.nowで日本時間を取得する方法です。

pytzを利用する場合

pytzというライブラリを利用することでタイムゾーンを設定できます。

利用する場合はインストールしておきます。

pip install pytz

以下のようにdatetime.nowの引数としてタイムゾーンを指定します。

from datetime import datetime
from pytz import timezone

# タイムゾーンを指定して、日時を作成.
print(datetime.now(timezone('Asia/Tokyo')))

pytzを利用しない場合(標準モジュールのみ)

ライブラリをインストールせずに標準モジュールのみでタイムゾーンを設定することも可能です。

その場合は、datetimeパッケージにtimezoneモジュールを利用します。

from datetime import datetime, timedelta, timezone

# JSTタイムゾーンを作成
jst = timezone(timedelta(hours=9), 'JST')

# JSTで、日付を作成
now = datetime.now(jst)
print(now)

# UTCで、日付を作成
now = datetime.now(timezone.utc)
print(now)

ありがとうございました!

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA