【PHP】日付や時間の表示方法を覚えよう!

PHP

PHPで時間を表示したり、フォーマットする方法はいくつかあります。PHPの組み込み関数であるdate()や、オブジェクト指向プログラミングのDateTimeクラスを使うことで、時間をさまざまなフォーマットで表示できます。以下に詳しく説明します。

1. date()関数

date()関数は指定したフォーマットで日付や時間を取得できます。基本的な構文は以下の通りです。

echo date("Y-m-d H:i:s");

主なフォーマット文字

  • Y: 西暦(4桁)
  • y: 西暦(2桁)
  • m: 月(2桁、01-12)
  • n: 月(先頭に0がつかない、1-12)
  • d: 日(2桁、01-31)
  • j: 日(先頭に0がつかない、1-31)
  • H: 24時間制の時間(2桁、00-23)
  • h: 12時間制の時間(2桁、01-12)
  • i: 分(2桁、00-59)
  • s: 秒(2桁、00-59)
  • A: 午前/午後(大文字)
  • a: 午前/午後(小文字)

echo date("Y/m/d H:i:s"); // 出力例: 2024/11/08 14:30:15

2. DateTimeクラス

DateTimeクラスを使用すると、より柔軟に日付や時間を操作・フォーマットできます。基本的な使い方は以下の通りです。

$date = new DateTime();
echo $date->format("Y-m-d H:i:s");

DateTimeクラスの利点

  • DateTimeオブジェクトを使うことで、日時の加算・減算が容易です。
  • timezoneを簡単に設定できるので、タイムゾーンに依存した処理がしやすいです。

例:日時の加算・減算

$date = new DateTime();
$date->modify('+1 day'); // 1日後に加算
echo $date->format("Y-m-d H:i:s");

3. Unixタイムスタンプの使用

Unixタイムスタンプは1970年1月1日00:00:00 UTCからの経過秒数を指し、time()関数で現在のタイムスタンプを取得できます。

echo time(); // 出力例: 1731145815

Unixタイムスタンプを日付に変換

$timestamp = time();
echo date("Y-m-d H:i:s", $timestamp);

4. タイムゾーンの設定

PHPではデフォルトのタイムゾーンを設定することで、全ての日時関数がそのタイムゾーンに基づいて動作します。

date_default_timezone_set('Asia/Tokyo');
echo date("Y-m-d H:i:s"); // 日本時間で表示されます

DateTimeオブジェクトでタイムゾーンを指定する場合:

$date = new DateTime('now', new DateTimeZone('Asia/Tokyo'));
echo $date->format("Y-m-d H:i:s");

これでPHPでの時間の表示方法とフォーマット方法について理解できると思います。

著者プロフィール
この記事を書いた人
ロジャー

Webアプリ開発を20年近く経験し、管理職なった今も時々ソースをいじるメインは営業職の管理者。もうすぐ40代。最近は、AIを活用して少しでも仕事やプライベートを面白くしていきたいと考えているおっさんです。困った事もAIなら解決してくれるはず!?

ロジャーをフォローする
PHPシステム開発
ロジャーをフォローする
タイトルとURLをコピーしました