June 2026
Intermediate
804 pages
8h 21m
Japanese
鐘楼の時計が1回鳴る。1時だ。しかし、つい60分前には、12回鳴って正子を知らせたのだ。
—— 時計のラウンドフレデリック・B・ニーダム
カレンダーには書いてあるんだけど、時間に間に合ったことはないわ。
—— マリリン・モンロー
プログラマは日付と時刻に驚くほどの労力をかけている。直面する問題について説明してから、状況を整理するベストプラクティスとトリックを紹介する。
日付はさまざまな方法で表現できる。実際、方法が多すぎる。英語のグレゴリオ暦でも、単純な日付でさまざまな書き方がある。
特に問題となるのが、日付の表現の曖昧さである。上の例では7月21日だということは容易にわかる。21月はあり得ないからだ。しかし、1/6/2012だったらどうか。1月6日のことか、それとも6月1日のことか。アメリカは月/日/年だが、ヨーロッパは日/月/年である。カナダでは英語なら月/日/年、フランス語なら日/月/年となる。なんてこった!
月名はグレゴリオ暦を採用している国の言語の間でもまちまちである。年と月でさえ、文化が異なれば定義が異なる。
時刻には時刻なりの厄介な問題がある。中でも大きいのは各地のタイムゾーン(標準時間帯)の違いとサマータイムの問題である。タイムゾーンの地図を確認すると、経度が15度(360度/24)ずれるごとにタイムゾーンがきっちり変わるのではなく、政治的歴史的な理由で境界が引かれていることがわかる。そして、サマータイムの開始日と終了日は国によってまちまちである。それだけにとどまらず、南半球の国々が時計を進める頃には、北半球の国々は時計を戻し、逆も行われる。
Read now
Unlock full access