お困りの方へ
この記事では、Pythonのdatetime型をお好みの文字列に変換します。
datetime.strftimeのサンプルコード
datetime.strftimeの仕様書です。strftime=string from timeです。
サンプルコードのimportモジュールです。
from datetime import datetime
from dateutil import tz
JST = tz.gettz('Asia/Tokyo')
UTC = tz.gettz('UTC')
年月日
年月日に変換します。
9月を”09″ではなく”9″のように一桁の数字にする方法もあります。
# 現在時刻を取得する。
now = datetime.now()
print(now.strftime('%Y%m%d'))
# 20240901
print(now.strftime('%Y-%m-%d'))
# 2024-09-01
print(now.strftime('%Y-%#m-%#d'))
# 2024-9-1
曜日
曜日に変換します。
# 現在時刻を取得する。
now = datetime.now()
print(now.strftime('%A'))
# Sunday
print(now.strftime('%a'))
# Sun
月
# 現在時刻を取得する。
now = datetime.now()
print(now.strftime('%B'))
# September
print(now.strftime('%b'))
# Sep
print(now.strftime('%m'))
# 09
時間
# 現在時刻を取得する。
now = datetime.now()
# 0埋めした10進数で表記した時 (24時間表記)
print(now.strftime('%H'))
# 14
# 0埋めした10進数で表記した時 (12時間表記)
print(now.strftime('%I'))
# 02
# AM, PM表記
print(now.strftime('%p'))
# PM
# 応用: AM/PM HH:MM
print(now.strftime('%p %I:%M'))
# PM 02:04
タイムゾーン
# 現在時刻を取得する。
now = datetime.now()
print(now)
# 2024-09-01 14:08:34.050249
print(now.strftime('%Z'))
#
# ↑タイムゾーンなし(native)であれば空文字列となる。
# 現在時刻を取得する。
now_utc = datetime.now(UTC)
print(now_utc)
# 2024-09-01 05:08:34.050249+00:00
print(now_utc.strftime('%Z'))
# 協定世界時
# ↑UTCとは表示されなかった。
# 現在時刻を取得する。
now_jst = datetime.now(JST)
print(now_jst)
# 2024-09-01 14:08:34.050249+09:00
print(now_jst.strftime('%Z'))
# JST
# ↑これは期待通り。
