『「PHPで予定日までのカウントダウンを実装する」を修正するの巻』を更に修正する。
- 2017/12/05
PHPで「カウントダウン」する記事の修正の修正です。
数年前に、『「PHPで予定日までのカウントダウンを実装する」を修正するの巻』という記事を書きました。
が・・・
いま見たら、全然間違ってるじゃん!(笑)
ということで、修正しました。
<?php $end = strtotime('2017/12/07'); $now = strtotime('now'); $days = ceil(($end - $now) / (60*60*24)); if ($days > 0) { $days++; $date_counter = '残り <strong>' . $days . '</strong> 日'; } elseif ($days == 0) { $date_counter = '今日が終了!'; } elseif ($days < 0) { $date_counter = '終了後、' . -$days . ' 日経過しました。'; } echo '<p>' . $date_counter . '</p>'; ?>
strtotime関数で予定日と今日の日付をタイムスタンプ形式に変更し差を求める。で以前はround関数を使っていましたが、よく考えたらそこで四捨五入したら午前中と午後で残りの日数が変わってしまうのでceil関数で切り上げに変更。で、今日と予定日当日も1日にカウントしたいので更に+1する。あと、if文の条件も若干修正(汗)
これで大丈夫かなぁ?
ちなみに、これを使ってるのはコチラ