web関連

特定の日時を過ぎたら表示を変えるPHP

特定の日時を過ぎたら表示を変えるPHP

お客さんからよく「○日過ぎたらバナーの掲載を取り下げて」とか言われるので勉強がてら、特定の日時を過ぎたら表示変える記述書いてみた。

特定の日時を過ぎたら表示を変える方法

<?php
//data関数だけだと9時間のズレが生じる場合があるので
date_default_timezone_set('Asia/Tokyo');
// 現在時間を取得(年月日時分を取得)
$now = date('YmdHi');
// タイマーを設定(例:2018年9月4日20時30分を設定)
$schedule = '201809041930';
?>
<?php if($now < $schedule): ?>
// 指定日時過ぎてない(before)
<?php else: ?>
// 指定した日時過ぎた(after)
<?php endif; ?>
キャンペーンバナーとかの掲載・削除で使おうと思う

特定の日時の前日・当日・後日で表示を変える方法

イベントをやってるお客さんから「前日までは開催告知バナー、当日は開催中バナー、過ぎたら掲載取り下げて」と言われたので作ってみた

<?php
//data関数だけだと9時間のズレが生じる場合があるので
date_default_timezone_set('Asia/Tokyo');
// 現在時間を取得(年月日を取得)
$now = date('Ymd');
// タイマーを設定(例:2018年9月4日を設定)
$schedule = '20180904';
?>
<?php if($now > $schedule): ?>
// 前日までの表示
<?php elseif($now === $schedule): ?>
// 当日中の表示
<?php else: ?>
// 後日以降の表示
<?php endif; ?>
この日のこの時間だけ表示を変えることは想定してない
要望上がったことないから

調べていて日付をオブジェクトとして比較できるみたい(メモ)

▼php.net 例2 DateTime オブジェクトの比較
http://php.net/manual/ja/datetime.diff.php

調べても古い記事しか見つからなかったから作ってみたけどこんなシンプルでいいのかわかんないな、知識があまりないから