pythonで日付・日時を取得するにはdatetime
ライブラリを使います。
他にもtime
ライブラリがありますが、多分datetime
の方が簡単なのでこちらの方法を紹介しようと思います。
日付を取得
日付のみを取得するにはdatetime.date
を使います。
具体的にはtoday()
を呼び出すことで日付を取得することが可能です。
ちなみに返ってくるのは’datetime.date’オブジェクトです。
import datetime
today = datetime.date.today()
print(today)
# 2021-09-20
‘datetime.date’オブジェクトは年月日に個別でアクセスすることもできます。
today = datetime.date.today()
print(today.year)
print(today.month)
print(today.day)
# 2021
# 9
# 20
日時を取得
日付ではなく日時を取得したい場合はdatetime.datetimeを
使います。
具体的にはnow()
を呼び出します。
返ってくるのは’datetime.datetime’オブジェクトです。
使うクラスは日付の場合はdate(日付) , 日時の場合はdate time(日付 時間) と覚えやすいですね。
こちらも年月日時分秒マイクロ秒に個別でアクセスができます。
import datetime
day_and_time = datetime.datetime.now()
print(day_and_time)
print(day_and_time.year)
print(day_and_time.month)
print(day_and_time.day)
print(day_and_time.hour)
print(day_and_time.minute)
print(day_and_time.second)
print(day_and_time.microsecond)
# 2021-09-20 11:32:28.460503
# 2021
# 9
# 20
# 11
# 32
# 28
# 460503
タイムゾーンの設定
実際に自分で日時を取得してみるとわかるのですが、-9時間ほど時差が生じてしまっています。
これはタイムゾーンが日本に設定されていないからです。
正しく取得するためにはタイムゾーンを日本に設定してやる必要があるわけです。
今回はpytz
を使ったタイムゾーン設定を行います。
import datetime
import pytz
date = datetime.datetime.now()
Tokyo_timezone = pytz.timezone('Asia/Tokyo')
Tokyo_datetime = date.astimezone(Tokyo_timezone)
print(date)
print(Tokyo_datetime)
# 2021-09-21 10:23:43.371090
# 2021-09-21 19:23:43.371090+09:00
タイムゾーン設定はこちらの記事がわかりやすかったです

pytzを使ってpythonでタイムゾーンを扱う"正しい"方法 - Qiita
各国のタイムゾーンを扱うpytzPython のタイムゾーンと言えば pytzPython 3 になって標準ライブラリに timezone が出来ましたが、便利な pytz もよく使います。i…
コメント