Skip to main content

ログ取得ツール (移転先予定地)

長年の疑問

長年疑問だった、午前12時? 午後0時?(crl.go.jp)というものを発見した。/.-jの、えーとこのへん(slashdot.jp)より。

「お昼の12時は『午前12時』、『午後12時』、それとも 『午後0時』どれが正しいのですか?」

要するに11→12になるのは断裂がないのに、AM→PMに変わるのはおかしい、ということだ。AMからPMになるからには、11→0のように飛んだほうがわかりやすい。PMのままなのに12→1になると連続しているように見えないしね。でも11→12にするとAMが午前でPMが午後という事実が覆されてしまう。

PHPで、AM4:00までは昨日の28:00だと表現するための簡単な方法はないかなぁ。date()の引数の文字列を工夫するだけでは無理だよねぇ。mydate()なんかを実装するしかないのだろう、たぶん。

(追記) 2003-09-16 13:09

ちょっと不完全だが、以下のようなものはどうか。このサイトの表示にもコレを使ってみようと思う。

function mydate($format, $now="") { $diffh=4; if ($now==""){ return mydate($format, time()); } $n=$now-3600*$diffh; $trans=array( “a” => date(“a”, $n), “A” => date(“A”, $n), “d” => date(“d”, $n), “D” => date(“D”, $n), “F” => date(“F”, $n), “h” => date(“h”, $n), “H” => sprintf("%02d", date(“H”, $n)+$diffh), “G” => date(“G”, $n)+$diffh, “g” => date(“g”, $n), “i” => date(“i”, $n), “j” => date(“j”, $n), “l” => date(“l”, $n), “L” => date(“L”, $n), “m” => date(“m”, $n), “n” => date(“n”, $n), “M” => date(“M”, $n), “r” => date(“r”, $n), “s” => date(“s”, $n), “S” => date(“S”, $n), “t” => date(“t”, $n), “T” => date(“T”, $n), “U” => date(“U”, $n), “w” => date(“w”, $n), “W” => date(“W”, $n), “Y” => date(“Y”, $n), “y” => date(“y”, $n), “z” => date(“z”, $n), “Z” => date(“Z”, $n), ); return strtr($format, $trans); }