《PHP8上級試験対策》DateTimeクラスの使い方まとめ

  • URLをコピーしました!

はじめに

PHPで日付・時刻を扱うとき、DateTime クラスは欠かせない存在です。上級試験でも「現在日時の取得」や「フォーマット出力」の理解は必須。この記事では、DateTime の基本動作を確認しつつ、実行結果の仕組みを図解でわかりやすく整理します。

キーワード: DateTime / 現在日時 / フォーマット / ATOM / タイムゾーン

目次

DateTimeの基本構文

$dobj = new DateTime(); // 現在日時を取得
echo $dobj->format(DateTimeInterface::ATOM); // ATOM形式で出力

ポイント

  • new DateTime()
    • 引数を省略すると "now" がデフォルト
    • 実行時の現在日時を返す
  • format(DateTimeInterface::ATOM)
    • ATOM(例: 2025-10-11T14:30:00+09:00)形式で出力
  • タイムゾーンを指定可能

タイムゾーン指定した場合のコード

new DateTime("now", new DateTimeZone("Asia/Tokyo"));

実行結果の仕組み

┌───────────────────────┐
│ DateTime()            │
│ 引数なし → 現在日時      │
└───────────┬───────────┘
            │ format(ATOM)
            ▼
┌──────────────────────────────┐
│ 2025-10-11T14:30:00+09:00    │ ← 実行時の現在日時が出力される
└──────────────────────────────┘

💡 注意:

  • サンプル問題集にある 2025-01-01T00:11:22+09:00固定値ではなく例示
  • 実際にコードを実行すると、その瞬間の現在日時が出力されます

固定日時を使う場合

$dobj = new DateTime("2025-01-01 00:11:22", new DateTimeZone("Asia/Tokyo"));
echo $dobj->format(DateTimeInterface::ATOM); // 固定日時を出力可能

試験で「固定日時の出力」を問われた場合はこちらを使用

まとめ

  • DateTime() → 現在日時を取得
  • format() → 指定フォーマットで出力
  • ATOM形式は YYYY-MM-DDTHH:MM:SS+TZ
  • 実行時の日時は動的に変わる
  • 固定日時が必要な場合は、引数で指定する

この記事が気に入ったら
いいねしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次