西暦1000年って閏年なの? そうじゃないの?
なんとなく、日付なんてものはすべてのシステムで同じように扱われているべき、と盲目的に思っていたが、そうではないようで・・・
西暦1000年って100で割り切れるけど400で割り切れないから平年だよね? JavaのDate型で2月29日入っちゃうんだけど・・・。
2013-04-17 10:55:20@daiksy そもそも閏って1,000年には適用できないと思いますけど。閏自体が西暦1,000年の後に導入されてるはずですし。なので、そこは歴計算のアルゴリズムがどうなってるか、だと思いますけどね。
2013-04-17 10:59:19@_tsq そうなんですねー。MySQLだと、平年で扱われて、システム側のバリデーションと不一致をおこしていたのですが、どちらが正しいというわけではないのか・・・。
2013-04-17 11:00:47@daiksy 暦って、割と最近考えられた合理化する方法ですからねぇ。MySQLとシステムでなんぞ計算方法に不一致があるんでしょう。かといって、そもそもが閏のない時代のことは責められないしw
2013-04-17 11:04:07おお! 1582年(グレゴリオ暦の採用年)以前はユリウス暦で閏年の計算が実装されてるんか!!!だから1000年は閏年になるんか!!!!
2013-04-17 11:16:53@daiksy Wikipediaも1000年は"西暦(ユリウス暦)による、閏年"と書かれていますね http://t.co/AuY4ICF2nm
2013-04-17 11:28:47@daiksy @guin_y ついでに、PostgreSQLではMySQLと同じく平年でした(1000年2月29日はinsertできない)
2013-04-17 11:44:22@daiksy 何故PostgreSQLは正しくないグレゴリオ暦を用いるかの公式マニュアルによる解説。(ちょっといいわけくさいw) http://t.co/LM4KdAmL2I
2013-04-17 12:41:16MySQLも
proleptic Gregorian calendar
(先発グレゴリオ暦)とのこと
http://dev.mysql.com/doc/refman/5.1/ja/mysql-calendar.html
反響が大きかったのでブログにまとめました。