お困りの方へ
この記事では、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 # ↑これは期待通り。