前の日 / 次の日 / 最新

swk's log

2005-05-04 Wed

* 正午は午前十二時? 午後十二時? 午後零時? [gkbinclock]

gkbinclock へのパッチを 1 ヵ月くらい前にもらっていたのだが,そのまま放置してしまっていた.ようやく取り込んで 0.6 をリリース.

何のパッチだったかというと,「12時間表記モードでは 0 時と表すより 12 時と表す方がいいはずだから,そう直したよ」というパッチ.

すぐに取り込めなかったのは,この主張自体が私の感覚と反するからである.結局そのパッチをそのまま適用するのではなく,0 時と表示するか 12 時と表示するかを選ぶための「12 instead of 0 モード」というものを設定パネルに増やすことにした.


個人的感覚としては,12時間表記であっても 1時〜12時より 0時〜11時で表す方が素直だと思っている.

正午を 12:00 と表す場合,それは午前 11:00 に後続するものなのだから,午前 12:00 であるとするのが素直だろう.しかし正午を一瞬でも過ぎた 12 時台の時刻を考えると,その時刻は正午を過ぎているのだから午後であり「午前12時XX分」と呼ぶのは非常に気持ち悪い.正午を午後 0 時,正子を午前 0 時とすれば,この辺の気持ち悪さは払拭される.


現実には「12時」という表現はごく普通に使われていて(実際俺だって使うよ),しかも午前なのか午後なのかは統一されていないので,ややこしいことこの上ない.(まあ実際には「昼の12時」とか「夜中の12時」とかいうことが多いし,文脈で一意に定まることが多いのでたいてい大丈夫なんだけど)

これはパッチを送ってくれた Peter とメールで議論しているときに彼が教えてくれたことなんだけど,strftime(3) だと正午は「午後」12:00 なのだ.

% perl -e 'use POSIX; print POSIX::strftime "%r\n", 59, 0, 11, 1, 1, 2000;'
11:00:59 AM
% perl -e 'use POSIX; print POSIX::strftime "%r\n", 0, 0, 12, 1, 1, 2000;'
12:00:00 PM
% perl -e 'use POSIX; print POSIX::strftime "%r\n", 1, 0, 12, 1, 1, 2000;'
12:00:01 PM

気持ちわるーい.

もっと気持ち悪いのは日本の法令だ.日本で時刻の表記を定めている法令を探すと,明治5年の太政官布告第337号までさかのぼることになり,その後改廃されている記録はないらしい.

これに掲載されている時刻表よると,

  • 午前は「午前零時 即 午後十二時」から「午前十二時」まで,
  • 午後は「午後一時」から「午後十二時」まで

と分類されている.

(゜Д゜)ハァ?

つまり正子は午前零時でも午後十二時でもあるけど,正午は午前十二時でしかないと.さらに正午と午後 1:00 の間は午前でも午後でもないと.

なんつう法律だ.ていうか時刻表作ったときに 午前の表のマスが午後より 1 個多い 時点で異変に気づいてくれ太政官.

[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [Jaelyn] What a joy to find such clear thinking. ... (2013-07-04 07:05:45)

<< 2005-05 >>
SuMoTuWeThFrSa
1234567
891011121314
15161718192021
22232425262728
293031

2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2012-02-13 02:02


Shingo W. Kagami - swk(at)kagami.org