書式設定と解析
strftimeとstrptimeを使用します
「書式設定と解析」はCoddyKit上の無料Python Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはPython Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Python Academyコースには全4レッスンが含まれています。
なぜフォーマットと解析を行うのですか?
コンピューターは日付をオブジェクトとして保存しますが、人間はテキストとして読み取ります。フォーマットはdatetimeを文字列に変換し、解析は文字列をdatetimeに戻します。
strftime= string FROM time(フォーマット)。strptime= string PARSE time(解析)。
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)最初のstrftime
datetimeに対して.strftime(format)を呼び出します。フォーマットコードは%で始まります。%Yは4桁の年、%mは月、%dは日です。
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))時刻部分をフォーマットする
時刻のコードでは、%Hが時(00~23)、%Mが分、%Sが秒を表します。これらをリテラルテキストと自由に組み合わせられます。
from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))人間にわかりやすい名前
名前を生成するコードもあります。%Aは曜日の完全な名前、%Bは月の完全な名前、%bは月の略称です。
from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))12時間制とAM/PM
12時間制の時には%Iを、AMまたはPMには%pを使います。ユーザー向けの表示でよく使われます。
from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))strptimeで解析する
datetime.strptime(text, format)は、文字列をdatetimeに読み込みます。フォーマットは、コードも含めてテキストと完全に一致していなければなりません。
from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))日付と時刻をまとめて解析する
完全なタイムスタンプを解析するには、フォーマットに時刻のコードを含めます。テキスト内の区切り文字(ハイフン、スペース、コロン)はすべて、パターンにも記述する必要があります。
from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)往復変換:解析してからフォーマットする
よくある処理の流れは、入力されたテキストを解析し、処理を行ってから、出力用に再フォーマットすることです。別のレイアウトに変換することもできます。
from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)ISO形式のショートカット
.isoformat()は標準のISO 8601文字列を生成し、datetime.fromisoformat()はフォーマットコードなしでそれを読み戻します。
from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)解析エラーを処理する
テキストがフォーマットと一致しない場合、strptimeはValueErrorを発生させます。入力が不正な可能性がある場合は、try/exceptで囲んでください。
from datetime import datetime
try:
datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
print('Could not parse:', e)年内の日付番号など
その他のコードとして、%jは年の何日目か(001~366)を、%wは曜日を数値(0=日曜日)で表します。レポートに便利です。
from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))クイックチェック
文字列'2026-05-30'があります。これをdatetimeオブジェクトに変換する呼び出しはどれですか?
復習:フォーマットと解析
覚えておきましょう:
strftime(fmt)はdatetimeを文字列に変換します。strptime(text, fmt)は文字列をdatetimeに変換します。- よく使うコードは、日付の
%Y %m %d、時刻の%H %M %S、名前の%A %Bです。 isoformat()とfromisoformat()はISO標準を自動的に処理します。
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))よくある質問
「書式設定と解析」レッスンは無料ですか?
はい。「書式設定と解析」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Python Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Python Academyコースには全4レッスンが含まれています。
「書式設定と解析」で何を学びますか?
strftimeとstrptimeを使用します ブラウザで直接実行するハンズオンコードでPython Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Python Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのPython Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「書式設定と解析」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このPython Academyレッスンでコードを書いて実行できますか?
はい。すべてのPython Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。