小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

月の末日に気をつけろ!

たとえば、データ中に日付けデータがあって、それをDBへインポートするとします。
通常、日付けデータの正当性は、DB側でもチェックしますので、エラーの場合はインポートがアベンド(abnormal end)します。


で、データを目視チェックするわけですが、データ中に4/31や11/31が紛れ込んでいるケースが多々あるのです。
しかし、目視チェックしている本人が、4月末日は30だったかな・・・31だったかなレベルだとザルチェックになるわけです。


ここで、末日を整理しときます。

  • 末日30 - 4月、6月、9月、11月
  • 末日31 - 1月、3月、5月、7月、8月、10月、12月
  • 末日28 - 2月(閏年の末日は29)

覚えにくいですね。
奇数月が31で偶数月が30日などの規則が全然ないですね。


実は、何世紀も昔は、奇数月が31、偶数月が30日で、奇数と偶数が交互する規則性があったのです。
また、その昔、ローマ皇帝が月に自分の名前をつける慣わしがありました。


で、アウグストゥスという皇帝が、8月を自分の名に変更するときに、30日だと1日少ないから嫌だと、8月の日数を増やしてしまったのです(何と云うワガママ)。


なので、末日31は、本当は奇数月なのに、8月からは偶数月になってしまったのです。
皇帝アウグストゥスのワガママで、後のプログラマが苦労する羽目になったわけです。