Menu
Coddy logo textTech

DateTime オブジェクト入門

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

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

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

<?php
$now = new DateTime();
echo $now;  // 次のような形式で出力されます: 2024-03-15 14:30:25
?>

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

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

quiz icon腕試し

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

quiz icon腕試し

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

quiz icon腕試し

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

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

期待される出力: デフォルトの形式で表示された DateTime オブジェクト

チートシート

DateTimeクラスは、PHPで日付と時刻を扱うためのオブジェクト指向のアプローチを提供し、手続き型の関数よりも優れた構成と柔軟性を提供します。

現在時刻のDateTimeオブジェクトを作成します:

$now = new DateTime();

特定の日付のDateTimeオブジェクトを作成します:

$specificDate = new DateTime("2023-05-15");

format()メソッドを使用して、特定の日付形式で表示します:

echo $now->format("Y-m-d H:i:s");  // 2024-03-15 14:30:25
echo $specificDate->format("Y-m-d");  // 2023-05-15

自分で試してみよう

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

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


?>
quiz icon腕試し

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

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