• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP 指定した期間だけ表示したい..)

PHPで指定した期間だけ表示する方法

このQ&Aのポイント
  • PHPを使用して、指定した期間だけコンテンツを表示する方法を解説します。
  • 通常、指定した日付だけを表示する場合は、if文を使用して個別に日付を指定しますが、30日間の場合には手間がかかります。
  • そこで、毎年4月1日から4月30日の間だけコンテンツを表示させる方法を紹介します。それ以外の期間ではコンテンツを非表示にします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

>1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。 >その決めた期間中のみ表示するといったようなことです でしたら日付を比較ができる Unix タイムスタンプに変換して 以下のようにしてはいかがでしょうか $now = time(); $start = mktime( 0, 0, 0, 4, 1,2011); // 2011年4月1日 0時0分0秒から $end = mktime( 0, 0, 0, 5, 1,2011); // 2011年5月1日 0時0分0秒まで if($now >= $start && $now < $end){ echo 'あいうえお'; } time (PHP 4, PHP 5) time — 現在の Unix タイムスタンプを返す http://jp.php.net/manual/ja/function.time.php mktime (PHP 4, PHP 5) mktime — 日付を Unix のタイムスタンプとして取得する http://jp.php.net/manual/ja/function.mktime.php

chiki-tiki
質問者

お礼

ご回答ありがとうございます。早々試し、できました。 本当にどうもありがとうございました。 その他のご回答頂いた皆さんもありがとうございました。ゴールを迎えられました。 今回は、毎年くり替えしたいので下記のように修正しました。 <?php $now = time(); $start = mktime( 0, 0, 0, 4, 25); /*4月25日から始まり*/ $end = mktime( 0, 0, 0, 4, 27); /*4月26日で終了する*/ if($now >= $start && $now < $end){ echo 'abcd'; } ?>

その他の回答 (3)

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.3

1ヶ月分なら、月だけを見れば良い。それと文字の比較部分も直した方がいい。 $month= date("m"); if ($month === '04'){ echo 'あいうえお'; }

chiki-tiki
質問者

お礼

どうもありがとうございました。

chiki-tiki
質問者

補足

ご回答ありがとうございます。 質問の文章が悪かったようです。分かりにくい文章でお手数をおかけしました。 1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。 その決めた期間中のみ表示するといったようなことです。

回答No.2

とりあえず変更箇所が少ないものを $tomonth= date("m"); //月だけを求める if ($tomonth == '04'){ echo 'あいうえお'; } date (PHP 4, PHP 5) date — ローカルの日付/時刻を書式化する http://jp.php.net/manual/ja/function.date.php

chiki-tiki
質問者

お礼

どうもありがとうございました。

chiki-tiki
質問者

補足

ご回答ありがとうございます。 質問の文章が悪かったようです。分かりにくい文章でお手数をおかけしました。 1ヶ月もなのですが、基本的には◯月◯日~◯月◯日までと自由に期限を決めたいと思っています。 その決めた期間中のみ表示するといったようなことです。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

< や > で大小判定すればいいと思うけど。

chiki-tiki
質問者

お礼

どうもありがとうございました。

chiki-tiki
質問者

補足

比較演算子 や 理演算子 あたりを使えば出来るんですよね。 「月日を調べて、それが指定した期間内であれば表示。それ以外であれば非表示。」といった命令になるとおもうのですが、そのソースが書けません。 まず、指定する期間を書けばいいのでしょうか。 $day1 = $day2 = $today= date("md"); とした場合、指定日の表現がわかりません。 4月1日を指定したい場合、1April ではなさそうですよね。 次に if ($daiy1 < $today || $day2 > $today){ echo 'あいうえお'; } みたいな感じなんでしょうか。 無茶苦茶かもしれませんが、わたくしの頑張った限界です。

関連するQ&A