PHPで指定の日時・時間にコンテンツを表示するコード

「19時~20時限定のコンテンツを表示させたい!」

「10月1日10時までコンテンツを表示させたい!」

「11月24日以降にコンテンツを表示させたい!」

サイトやブログを運営しているとこんな事を思ったことがありますよね。

今回はそんな事を可能にするPHPのコードをご紹介します。

 

指定の日時・時間までコンテンツを表示する方法

<?php if (date_i18n('Y-m-d H:i:s') < '2018-12-24 20:00:00'): ?>

<p>ここに表示させたいコンテンツを追加</p>

<?php else: ?>

<p>ここに指定した時間が過ぎた時に表示させたいコンテンツを追加(空白なら何も表示されません)</p>

<?php endif; ?>

このコードを使うと、2018年12月24日20時までコンテンツを表示する事が出来ます。

2018年12月24日20時を過ぎると別のコンテンツを表示させることも可能です。

もちろん、何も記載しなければ指定時間を過ぎると表示か消える仕組みにもできます。

 

指定の時間以降にコンテンツを表示させる方法

<?php if (date_i18n('Y-m-d H:i:s') >= '2018-12-24 20:00:00'): ?>

<p>ここに表示させたいコンテンツを追加</p>

<?php else: ?>

<p>ここに指定した時間が過ぎた時に表示させたいコンテンツを追加(空白なら何も表示されません)</p>

<?php endif; ?>

このコードを使うと、2018年12月24日20時以降はコンテンツを表示する事が出来ます。

2018年12月24日20時までは別のコンテンツを表示する事も可能です。

もちろん、何も記載しなければ指定時間まで何も表示されない仕組みにもできます。

 

指定の時間から指定の時間までコンテンツを表示させる方法

<?php if (date_i18n('Y-m-d H:i:s') >= '2018-12-24 10:00:00' && date_i18n('Y-m-d H:i:s')< '2018-12-24 20:00:00'): ?>

<p>ここに表示させたいコンテンツを追加</p>

<?php else: ?>

<p>ここに指定した時間が過ぎた時に表示させたいコンテンツを追加(空白なら何も表示されません)</p>

<?php endif; ?>

このコードを使うと、2018年12月24日10時~20時までコンテンツを表示する事が出来ます。

それ以外の時間は別のコンテンツを表示させる事も可能です。

もちろん、何も記載しなければ指定時間以外は何も表示されません。

 

日時を指定しないで時間でコンテンツを表示させる方法

<?php if (date_i18n('H:i:s') >= '20:00:00'): ?>

<p>ここに表示させたいコンテンツを追加</p>

<?php else: ?>

<p>ここに指定した時間が過ぎた時に表示させたいコンテンツを追加(空白なら何も表示されません)</p>

<?php endif; ?>

日時は指定せずに、毎日同じ時間にコンテンツを表示させたい時は「Y-m-d」を抜いて記載すれば、期待通りの動きをしてくれます。

 

日時を取得する方法とは?

この記事ではワードプレスの利用を想定して時間を取得する関数「date_i18n」を使用しています。

しかし、ワードプレスを利用しない場合は一般的に時間を取得する関数の「date」を使えば問題ありません。

ただ、サーバーによっては日本時間を取得してくれない可能性もあります。

その時は、以下のコードを追記すると解決します。

<?php date_default_timezone_set('Asia/Tokyo'); ?>

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です