Menu
Coddy logo textTech

DateTime オブジェクト入門

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

date()time()、および strtotime() のような手続き型の関数は、基本的な日付操作には適していますが、PHPは DateTime クラスを通じて、より強力で柔軟なアプローチを提供しています。このオブジェクト指向の方法は、日付や時刻を扱うための、より優れた構成、明確な構文、および高度な機能を提供します。

DateTimeクラスは、特定の瞬間をオブジェクトとして表します。これにより、さまざまなメソッドを使用して操作やフォーマットを行うことができます。個別のタイムスタンプやフォーマット文字列を扱う手続き型の関数とは異なり、DateTimeオブジェクトは、日付/時刻データとそのデータに対して実行できる操作の両方をカプセル化します。

<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s');  // 次のように出力されます: 2024-03-15 14:30:25
?>

パラメータなしで新しい DateTime オブジェクトを作成すると、自動的に現在の日時に設定されます。

オブジェクト指向のアプローチは、特に同じ日付に対して複数の操作を行う必要がある場合に、コードの可読性と保守性を向上させます。より複雑な日付計算やフォーマット要件を扱うようになると、これが特に役立つことに気づくでしょう。

challenge icon

チャレンジ

簡単

1つの入力を受け取ります。それは Y-m-d H:i:s 形式の日付文字列です(例:2024-03-15 14:30:25)。

入力された日付文字列を読み込み、この日付文字列をパラメータとして DateTime オブジェクトを作成し、その DateTime オブジェクトを直接出力してください。

日付文字列をパラメータとして DateTime オブジェクトを作成すると、現在の日時ではなく、その特定の時点を表します。オブジェクトを表示するには、単に echo してください。

入力形式: Y-m-d H:i:s 形式の日付文字列を含む1行(例:2024-03-15 14:30:25

期待される出力: Y-m-d H:i:s 形式でフォーマットされた日時

自分で試してみよう

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

// TODO: 日付文字列を使用して DateTime オブジェクトを作成し、それを表示する


?>
quiz icon腕試し

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

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