コンテンツ
非表示
datetimeとstrftimeの使い方
strftimeはdatetimeモジュールの中でのdate,time,datetime,またはtimeモジュールの関数として利用することが出来ます。
strftimeリスト
strftime() | 出力されるもの |
%y | 年(YY) |
%m | 月(01から12まで) |
%d | 日(01から31まで) |
%H | 時(0から23まで) |
%M | 分(0から59まで) |
%S | 秒(0から59まで) |
%A | ロケールにおける完全な曜日 |
%a | ロケールにおける省略形の曜日 |
%B | ロケールにおける完全な月 |
%b | ロケールにおける省略形の月 |
%c | ロケールに適した日付と時刻の表現 |
%I | 時(AM/PM形式で01から12まで) |
%p | AMまたはPM |
%Z | タイムゾーン名 |
%z | UTCとのタイムゾーンオフセット |
2023年06月23日(金曜日)、15時30分45秒を例として使います。
%Y – 年(4桁)
from datetime import datetime
current_time = datetime.now()
formatted_year = current_time.strftime("%Y")
print(formatted_year)
##出力例: 2023
%y – 年(2桁)
formatted_year2 = current_time.strftime("%y")
print(formatted_year2)
##出力例: 23
%m – 月(2桁)
formatted_month = current_time.strftime("%m")
print(formatted_month)
出力例: 06
%d – 日(2桁)
formatted_day = current_time.strftime("%d")
print(formatted_day)
##出力例: 23
%Y%m%d
組み合わせでも可能です
formatted_Ymd = current_time.strftime("%Y,%m,%d")
print(formatted_Ymd)
##2023,06,26
%H – 時間(24時間・2桁)
formatted_hour = current_time.strftime("%H")
print(formatted_hour)
##出力例: 15
%M – 分(2桁)
formatted_minute = current_time.strftime("%M")
print(formatted_minute)
##出力例: 30
%S – 秒(2桁)
formatted_second = current_time.strftime("%S")
print(formatted_second)
##出力例: 45
%A – 曜日(完全形)
formatted_weekday_full = current_time.strftime("%A")
print(formatted_weekday_full)
##出力例: Friday
%a – 曜日(省略形)
formatted_weekday_abbr = current_time.strftime("%a")
print(formatted_weekday_abbr)
##出力例: Fri
%B – 月(完全形)
formatted_month_full = current_time.strftime("%B")
print(formatted_month_full)
##出力例: June
%b – 月(省略形)
formatted_month_abbr = current_time.strftime("%b")
print(formatted_month_abbr)
出力例: Jun
%c – ロケールに適した日時表現
formatted_datetime = current_time.strftime("%c")
print(formatted_datetime)
##出力例: Fri Jun 23 15:30:45 2023
%I – 時間(12時間制・2桁)
例えば15時だと03時に変換されます。
formatted_hour_12 = current_time.strftime("%I")
print(formatted_hour_12)
出力例: 03
%p – AMまたはPM
formatted_period = current_time.strftime("%p")
print(formatted_period)
##出力例: PM
%z: タイムゾーンオフセット(UTCとの差)を表す指定子です。例えば、+0900や-0500のような形式で表示されます。タイムゾーンのオフセットはUTCからの時間の差を表し、正や負の数値で表されます。
%Z: タイムゾーン名を表す指定子です。例えば、JSTやESTのような形式で表示されます。タイムゾーン名は地域や国によって異なり、一般的なタイムゾーンの略称が表示されます。
つまり、%zはタイムゾーンオフセットを表示し、%Zはタイムゾーンの名前を表示します。例えば、%zは+0900と表示される一方、%ZはJSTと表示されることがあります。
%Z – タイムゾーン名
now = datetime.now(ZoneInfo("Asia/Tokyo"))
now.strftime("%Z")
##出力例:'JST'
%Z – タイムゾーンオフセット(UTCとの差)
now.strftime("%z")
##出力例:'+0900'