PHP5.0.5からPHP5.1.1にアップデートしたところ,昨日の訪問者数が常に"0"になってしまいます.counter.inc.phpにもstrtotimeが使われているようなので,BugTrack2/120と関係があるかもしれません.
- 正しく表示されるWikiペイジもある(0になるペイジの方が多い) - *.countファイルに8bit文字は記述されてないというわけで別原因ではないかと思いつつ調べは進んでいません。 -- よっちい 2005-12-20 (火) 19:09:18
(1) echo get_date('Y/m/d'); (2) echo get_date('Y/m/d', strtotime('yesterday', UTIME)); (3) echo get_date('Y/m/d', strtotime('yesterday'));
(1) | (2) | (3) | ||
3/1 01:20 ごろ | PHP 5.0.4 | 2006/03/01 | 2006/02/28 | 2006/02/28 |
〃 | PHP 5.1.2 | 2006/03/01 | 2006/02/27 | 2006/02/28 |
3/1 22:00 ごろ | PHP 5.0.4 | 2006/03/01 | 2006/02/28 | 2006/03/01 |
〃 | PHP 5.1.2 | 2006/03/01 | 2006/02/28 | 2006/02/28 |
3/2 00:03 ごろ | PHP 5.0.4 | 2006/03/02 | 2006/03/01 | 2006/03/01 |
〃 | PHP 5.1.2 | 2006/03/02 | 2006/02/28 | 2006/03/01 |
$is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', strtotime('yesterday', UTIME)));から UTIME を抜いてみました。いまのところ良い模様です。
$is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', strtotime('yesterday', UTIME + LOCALZONE)));とか?(実質、上の(3)と同じ)
$is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', strtotime('yesterday', UTIME + LOCALZONE)) - LOCALZONE);でないと困る・・・、ってこれじゃあ結局you さんが書いている
$is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', UTIME - 24*60*60);とほぼ同じ意味になってるし。 -- 2009-04-30 (木) 14:34:15
get_date('Y/m/d', strtotime('yesterday', UTIME + LOCALZONE) - LOCALZONE)とするのが適切だと思います。しかし私の個人的な考えとしては、折角数値として時間を持っているのにそれに対して文字列を与える事によって補正をかけること自体が巧いやり方とは思えません。可読性のためであればコメントを書くべきです。最良の策は
get_date('Y/m/d', UTIME - 86400)かと思います。 -- 0th track 2009-05-06 (水) 13:55:19
diff --git a/counter.inc.php b/counter.inc.php index ed5dcbd..ee20c9d 100644 --- a/counter.inc.php +++ b/counter.inc.php @@ -83,7 +83,7 @@ function plugin_counter_get_count($page) if ($counters[$page]['date'] != $default['date']) { // New day $modify = TRUE; - $is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', strtotime('yesterday', UTIME))); + $is_yesterday = ($counters[$page]['date'] == get_date('Y/m/d', UTIME - 24*60*60)); $counters[$page]['ip'] = $_SERVER['REMOTE_ADDR']; $counters[$page]['date'] = $default['date']; $counters[$page]['yesterday'] = $is_yesterday ? $counters[$page]['today'] : 0;pukiwiki1.4.7 用 -- TOBY 2009-06-16 (火) 06:10:46