解析とフォーマット
strftime と strptime です。
「解析とフォーマット」はCoddyKit上の無料Ruby Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはRuby Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ruby Academyコースには全4レッスンが含まれています。
strftime による書式設定
strftime は、% で始まる書式指示子を使って、Time または Date を書式付き文字列に変換します。
t = Time.new(2026, 5, 30, 14, 5, 9)
puts(t.strftime('%Y-%m-%d'))
puts(t.strftime('%H:%M:%S'))日付でよく使う指示子
便利な日付の指示子は次のとおりです。
%Y4 桁の年、%y2 桁の年%m月番号、%B完全な月名%d月の日、%j年の日
t = Time.new(2026, 5, 30)
puts(t.strftime('%B %d, %Y'))
puts(t.strftime('%y/%m/%d'))時刻でよく使う指示子
便利な時刻の指示子は次のとおりです。
%H24 時間制、%I12 時間制%M分、%S秒%pAM/PM
t = Time.new(2026, 5, 30, 14, 30)
puts(t.strftime('%I:%M %p'))
puts(t.strftime('%H:%M'))曜日と名前
%A は完全な曜日名、%a は省略形です。%b は省略された月名です。
t = Time.new(2026, 5, 30)
puts(t.strftime('%A'))
puts(t.strftime('%a %b %d'))ゼロ埋めとフラグ
% と指示子の間にフラグを挿入します。- はパディングを削除し、0 はゼロで埋め、_ はスペースで埋めます。
t = Time.new(2026, 5, 5, 9, 0)
puts(t.strftime('%-d/%-m'))
puts(t.strftime('%H:%M'))ISO 8601 形式の出力
相互運用可能なタイムスタンプには、iso8601 または %FT%T%z パターンを使用します。ISO 8601 は API の標準です。
require 'time'
t = Time.new(2026, 5, 30, 14, 0, 0, '+00:00')
puts(t.utc.iso8601)Date.parse による解析
Date.parse は、一般的な日付文字列のさまざまな形式を読み取り、構成を推測します。便利ですが、厳密ではありません。
require 'date'
puts(Date.parse('2026-05-30'))
puts(Date.parse('30 May 2026'))Time.parse による解析
time を require すると Time.parse を追加できます。Time.parse は時刻を含む完全なタイムスタンプを読み取ります。
require 'time'
t = Time.parse('2026-05-30 14:30:00')
puts(t.hour)
puts(t.min)strptime による厳密な解析
正確な形式がわかっている場合は、strptime を使用します。strftime と同じ指示子を使い、入力が一致しない場合は失敗するため、より安全です。
require 'date'
d = Date.strptime('30/05/2026', '%d/%m/%Y')
puts(d.year)
puts(d.month)時刻に対する strptime
Time.strptime は、既知の形式のタイムスタンプを解析して Time に変換します。
require 'time'
t = Time.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
puts(t.hour)
puts(t.min)parse と strptime の違い
目安は次のとおりです。
- 柔軟な、人が入力したテキストには
parseを使用します - 形式が固定され、それ以外を拒否したい場合は
strptimeを使用します
require 'date'
puts(Date.parse('May 30 2026').iso8601)
puts(Date.strptime('2026-05-30', '%Y-%m-%d').iso8601)クイックチェック
strftime で 24 時間制の値をゼロ埋めして出力する指示子はどれですか。
まとめ: 解析と書式設定
文字列と日付は、相互に変換できます。
strftimeは%指示子で書式設定します%Y %m %d %H %M %S %A %Bとフラグを使用しますparseは柔軟で、strptimeは厳密です- API で扱いやすい出力には
iso8601を使用します
require 'date'
puts(Date.strptime('2026-05-30', '%Y-%m-%d').strftime('%A, %B %-d'))よくある質問
「解析とフォーマット」レッスンは無料ですか?
はい。「解析とフォーマット」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ruby Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ruby Academyコースには全4レッスンが含まれています。
「解析とフォーマット」で何を学びますか?
strftime と strptime です。 ブラウザで直接実行するハンズオンコードでRuby Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ruby Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのRuby Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「解析とフォーマット」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このRuby Academyレッスンでコードを書いて実行できますか?
はい。すべてのRuby Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。