Menu
Coddy logo textTech

DateTime オブジェクトのフォーマット

CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 49/68。

DateTimeオブジェクトが用意できたので、それを読みやすい文字列形式に変換する必要があります。format()メソッドは、DateTimeオブジェクトを表示に必要な任意の日付または時刻の形式に変換するためのツールです。

format()メソッドは、date()関数で学んだものと全く同じフォーマット文字を使用します。この一貫性により、既存の知識をDateTimeオブジェクトに簡単に適用できます。DateTimeオブジェクトに対して直接メソッドを呼び出し、フォーマット文字列をパラメータとして渡します。

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // 出力: 2024-03-15
echo $now->format("H:i:s");     // 出力: 14:30:25
echo $now->format("l, F j, Y"); // 出力: Friday, March 15, 2024
?>

format() を使用したオブジェクト指向のアプローチは、特に同じ日付を複数回扱う場合に、より優れたコードの整理を可能にします。DateTime オブジェクトを一度作成すれば、手続き型の関数を繰り返し呼び出すことなく、コード全体でさまざまな方法でフォーマットできます。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

challenge icon

チャレンジ

簡単

2つの入力値を受け取ります。1つ目は Y-m-d H:i:s 形式の日付文字列、2つ目はフォーマット文字列です。最初の入力は特定の日時(例:2024-03-15 14:30:25)であり、2番目の入力は日付をどのように表示するかを指定するフォーマット文字列(例:l, F j, Y)です。

両方の入力を読み込み、日付文字列を使用して DateTime オブジェクトを作成し、format() メソッドを使用して提供されたフォーマット文字列に従って DateTime オブジェクトを変換し、フォーマットされた結果を出力してください。

入力形式:

  • 1行目: Y-m-d H:i:s 形式の日付文字列(例: 2024-03-15 14:30:25
  • 2行目: フォーマット文字列(例: l, F j, Y または H:i:s または Y-m-d

期待される出力: 提供されたフォーマット文字列に従ってフォーマットされた日付

チートシート

format() メソッドは、date() 関数と同じフォーマット文字を使用して、DateTime オブジェクトを読み取り可能な文字列形式に変換します。

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // 出力: 2024-03-15
echo $now->format("H:i:s");     // 出力: 14:30:25
echo $now->format("l, F j, Y"); // 出力: Friday, March 15, 2024
?>

オブジェクト指向のアプローチにより、DateTime オブジェクトを一度作成すれば、手続き型の関数を繰り返し呼び出すことなく、複数の方法でフォーマットすることができます。

自分で試してみよう

<?php
// 日付文字列を読み込む
$dateString = trim(fgets(STDIN));

// フォーマット文字列を読み込む
$formatString = trim(fgets(STDIN));

// TODO: 以下にコードを記述してください
// DateTimeオブジェクトを作成し、フォーマット文字列に従ってフォーマットします


// フォーマットされた日付を出力します
echo $formattedDate;
?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン