[PHP] strtotime関数を使い日時指定で要素を表示・非表示
PHPのstrtotime関数を使い日時指定で要素の表示/非表示を切り替える方法をご紹介します。
特定の期間中だけバナーを表示したい時などに使えます。
strtotime関数とは?
strtotime関数とは、人間が理解しやすい形式の日付や時間の文字列をUNIXタイムスタンプに変換する関数です。
UNIXタイムスタンプとは、1970年1月1日00:00:00秒からの経過秒数で日時を表現する方法です
指定日時以降に要素を非表示にする
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php // 現在のUNIXタイムスタンプを取得し、$current_time変数に代入 $current_time = strtotime('now'); // 指定された日時(2024年5月8日00:00)のUNIXタイムスタンプを取得し、$target_time変数に代入 $target_time = strtotime('2024-05-08 00:00'); // $current_timeが$target_time以上の場合 if ($current_time >= $target_time) { // .special_bnrクラスを持つ要素を非表示にする echo '<style> .special_bnr { display: none; } </style>'; } ?> <div class="special_bnr"><a href="/special01/"><img src="img/bnr01.jpg" alt="バナー1" /></a></div> |
指定日時より前は要素1を表示し、指定日時より後は要素2を表示する
1 2 3 4 5 6 7 8 9 10 |
<?php $current_time = strtotime('now'); $target_time = strtotime('2024-05-08 00:00'); if ($current_time < $target_time) { echo '<div class="bnr"><a href="/special01/"><img src="img/bnr01.jpg" alt="バナー1" /></a></div>'; } else { echo '<div class="bnr"><a href="/special02/"><img src="img/bnr02.jpg" alt="バナー2" /></a></div>'; } ?> |
指定した日付フォーマットで取得するサンプルコード
今現在 | <?php echo strtotime(“now”); ?> |
---|---|
本日 | <?php echo strtotime(“today”); ?> |
日時指定 | <?php echo strtotime(“2024-05-08 00:00”); ?> |
7日後 | <?php echo date(“Y-m-d”, strtotime(“+7 day”)); ?> |
1か月後 | <?php echo date(“Y-m-d”, strtotime(“+1 month”)); ?> |