TimeZoneクラスを使って自動切り替え

Author:

クライアントから「早朝に画像を切り替えてほしい」と依頼されたことはありませんか?

手動で変更するのは面倒ですし、忘れてしまうリスクもあります。そこで便利なのが、PHPの DateTime クラスを使った自動切り替えです。

たとえば、以下のコードを使えば、指定した時間までは img-OLD.png を、それ以降は img-NEW.png を表示できます。

$now = new DateTime('Asia/Tokyo');
$limit = new DateTime('2025-02-14 08:00:00 Asia/Tokyo');

$image = ( $now <= $limit ) ? 'img-OLD.png' : 'img-NEW.png';

echo '<img src="/images/' . $image . '" alt="画像">';

このコードのポイントは、DateTime クラスを使って現在の時刻指定時刻を比較し、適切な画像を出し分けていることです。

DateTime('Asia/Tokyo') で東京時間を取得し、DateTime('2025-02-14 08:00:00 Asia/Tokyo') で切り替えの基準時刻を設定しています。

この方法なら、指定した時間になったら自動的に画像が切り替わるので、運用がぐっと楽になります。イベントやキャンペーンの開始・終了時にバナーを変えるといった用途にも応用できるでしょう。

時間指定のコンテンツ変更が必要なときは、ぜひ DateTime クラスを活用してみてください。