0Pricing
Ruby Academy · レッスン

解析とフォーマット

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'))

日付でよく使う指示子

便利な日付の指示子は次のとおりです。

  • %Y 4 桁の年、%y 2 桁の年
  • %m 月番号、%B 完全な月名
  • %d 月の日、%j 年の日
t = Time.new(2026, 5, 30)
puts(t.strftime('%B %d, %Y'))
puts(t.strftime('%y/%m/%d'))

時刻でよく使う指示子

便利な時刻の指示子は次のとおりです。

  • %H 24 時間制、%I 12 時間制
  • %M 分、%S 秒
  • %p AM/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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 時刻と日付のクラス
  2. 解析とフォーマット
  3. 時刻の算術演算
  4. タイムゾーン
← Ruby Academyに戻る