印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
MovableTypemisc 12時間表記のダブルスタンダード

MovableType では、エントリの投稿時刻は 12 時間表示で行われる。何時何分に AM か PM がつく。例えば、お昼の 12:34 に投稿した場合は、12:34 PM となる。しかし、お昼ならば 12:34 AM あるいは 0:34 PM になるような気もする。

■ ■ ■

この混乱は、MovableType だけではなく、日本製の時計にも起こっている。身のまわりの目覚まし時計、携帯電話、その他時刻が表示されているもののうち、半分はお昼を 12:00 PM と表示するのである。いわゆる「ダブルスタンダード」となってしまっているのだ。ちなみに、新聞のテレビ欄は 0:00 PM となっている。話を分かりやすくするために、表にしてみる。

24時間表記
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
12時間表記
昼: 12:00PM
AM
PM
12
























1
2
3
4
5
6
7
8
9
10
11
12
























1
2
3
4
5
6
7
8
9
10
11
12時間表記
昼: 0:00PM
AM
PM
0
1
2
3
4
5
6
7
8
9
10
11
























0
1
2
3
4
5
6
7
8
9
10
11

お昼を 12:00PM と表記する場合は、11 の次に 12 が来るという自然な数の流れを AM, PM が分断してしまっている。数の進み方と AM, PM の切り替えの同期がとれていない。これに対して、お昼を 0:00 PM と表記する方法では、数は 0 から始まり 11 で終わり、次の 0 に切り替わるときに同時に AM から PM に変わっている。12:00 PM よりも自然だといえるだろう。ただし、アナログ時計の文字盤は「0」から始まっていないという欠点がある。

12:00 PM をお昼の 12 時とする表記は、以下のことから導かれているのではないだろうか。

  • 時計は 12 時から始まるのであって、0 時からではない
  • お昼といえば、午後の始まりであるから、PM である

なるほど、と思わせる。しかし、これも微妙である。なぜなら、お昼は 12:00 PM だと言い切る人でも、「夜中の 12 時は?」と聞かれて「12:00 AM」と即答できる人は少ないからである。

2010年2月1日追記: 日本では上述の通り2通りの解釈がありますが,国際的には 12:00 a.m. は夜中の12時 (24時間表示なら 0:00) となっています (12-hour clock - Wikipedia)。したがって,0:00 a.m. や 0:00 p.m. という表記は存在しません。0:00 a.m. は 12:00 a.m. (12時間表記) または 0:00 (24時間表記) で表されます。Linux の時刻表示,Perl, PHP などのスクリプト言語でも統一されています。

以下は Movable Type に関する話。

上述の面倒な話を避けるには、「24 時間表記にすればいい」ということになる。 デフォルトのテンプレートでは、<$MTEntryDate format="%X"$> となっており、これは<$MTEntryDate format="%I:%M %p"$> の意味なので、<$MTEntryDate format="%H:%M"$> に変更する。%H は24時間表示の「時」を表す。他の時刻表示タグも次のように統一する。

テンプレート 用途 デフォルトのタグ 変更後のタグ
Main Index エントリ用 <$MTEntryDate format="%X"$> <$MTEntryDate format="%H:%M"$>
Category Archive エントリ用 <$MTEntryDate format="%X"$> <$MTEntryDate format="%H:%M"$>
Date-Based Archive エントリ用 <$MTEntryDate format="%X"$> <$MTEntryDate format="%H:%M"$>
コメント用 (なし) <$MTCommentDate format="%x %H:%M"$>
Individual Entry Archive エントリ用 <$MTEntryDate$> <$MTEntryDate format="%H:%M"$>
コメント用 <$MTCommentDate$> <$MTCommentDate format="%x %H:%M"$>
トラックバック用 (なし) <$MTPingDate format="%x %H:%M"$>
Comment Listing コメント用 <$MTCommentDate$> <$MTCommentDate format="%x %H:%M"$>
TrackBack Listing トラックバック用 <$MTPingDate$> <$MTPingDate format="%x %H:%M"$>

日付は %B %d, %Y と書くより、%x と書いた方が汎用的。%x は言語による表記の違いを吸収してくれる。編集メニューで、日付として英語表記を選択すれば、%x は「%B %d, %Y」に変換され、日本語表記を選択すれば「%Y年%m月%d日」に変換される。ちなみに、日付の表記を定義しているのは lib/mt/util.pm モジュールである。

日付と時刻のフォーマットに関しては、MT Wiki . MT . DateTagFormatsが詳しい。

Posted by n at 2004-04-22 18:08 | Edit | Comments (4) | Trackback(5)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
エントリーの時間表示を24時間方式に変更してみた
nlog(n): 12時間表記のダブルスタンダードMovableType では、エントリの投稿時刻は 12 時間表示で行われる。何時何分に AM か PM がつく。例えば、お昼の 12:34 に投稿した場合は、12:34 PM となる。しかし、お昼ならば 12:34 AM あるいは 0:34 PM になるのではないのだろ... Trackbacked from: C'est Macte at July 31, 2004 23:54
@niftyも大容量メール
@niftyもメールアドレス追加サービス「セカンドメールPRO」で容量を1GBま Trackbacked from: ti-web.net "Blog" at November 02, 2004 23:52
納得いかない!12時間表記
今日、職場でサイトに告知する時刻の表記で、あーだこーだという話になりました。 1... Trackbacked from: カオスの縁で踊る道化師 at November 16, 2004 00:16
時刻を24時間表記に
MovableType では、日付の表示を「BLOGの設定」>「ウェブログの設定」 から変更出来るんですね。 ちょっと日本語の表示じゃなくて、英語にしたいなぁ〜っと思い、 「日付用の言語」を「英語」にしたら なんと、時間の表示が12時間表記になってしまいました! うぇ〜ん、ピ... Trackbacked from: hana & kozaburo Blog at November 18, 2004 16:44
時刻表記24時間化
私は24時間表記主義(?)なのでMTの12時間表記が気に食わない。しかし面倒なので放置していた(ぉ)。でもテンプレ変更で簡単にできるっぽいのでさくっと変更してみた。 Trackbacked from: 約定期blog at February 17, 2005 03:26
Comments

すみません、手違いで複数TB送ってしまいした
削除してください

Posted by: tosea at August 01, 2004 00:13

トラックバックありがとうございました。重複分は削除させていただきました。

Posted by: n at August 01, 2004 06:29

こちらのミスで関係の無い記事でトラックバックを送ってしまいました。
すみませんでした。

Posted by: toshi at November 02, 2004 23:56

問題ありません。削除しますか?

Posted by: n at November 03, 2004 00:15
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?