PHPで、特定日時によって表示を切り替える方法
はじめに
先日、あるキャンペーンの申し込みフォームの依頼がありました。
そのキャンペーンは、5月6日10時~5月11日の23時59分が受付期間で、その期間だけお申し込みフォームへのリンクを表示するという設定を行いました。
コードは下記のとおりです。(文字装飾ははずしています)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php #TimeZoneを日本時間に設定する $org_timezone = date_default_timezone_get(); date_default_timezone_set('Asia/Tokyo'); $now = new DateTime(); $startTime = new DateTime('2020-05-6 10:00'); $closeTime = new DateTime('2020-05-11 23:59'); #テスト用(時間表示) //$showNow = $now->format('Y-m-d H:i:s'); //echo $showNow; //echo '<br>'; //$showStart = $startTime->format('Y-m-d H:i:s'); //echo $showStart; //echo '<br>'; //$showClose = $closeTime->format('Y-m-d H:i:s'); //echo $showClose; if ($now < $startTime): ?> 5月6日 10:00より受付開始 <?php elseif ($now >= $startTime && $now < $closeTime): ?> <a href="フォームのURL" class="btn_entry">お申し込みフォーム</a> <?php elseif ($now >= $closeTime): ?> 受付終了しました。 <?php endif; ?> |
留意点
上記コードの冒頭3行で、日本時間のタイムゾーンを取得しています。
この記述がないと時間がズレる事があるので注意が必要です。
開発用のテストとして、#テスト用(時間表示)の部分をコメントアウトすると、時間が表示されます。
こちらも併せてお使いください。
公開日:2020年5月7日
最終更新日:2020年5月7日