元号対応で、過去の帳票についてシステムテストを繰り返していたところ、明治初年のテストデータをパスしないバグが見つかった。
Javaのlocaldateが1968/1/1の深夜0時の場合、なぜか1967/12/31の23時41分くらいとなぜか19分ちょい絶妙にずれるため
mmSSを切り捨てる系の日付処理で1967/12/31で検索していることが原因だとすぐにわかったが、
最終的にきしださんのウェブサイトにて日本標準時が1880年を境に江戸城から現在の明石に変更していることを知った。
http://d.hatena.ne.jp/nowokay/20150109
有志が常にtimezoneの変更をJREに行っていることをついでに知る。
http://www.oracle.com/technetwork/java/javase/tzdata-versions-138805.html
直近だと北朝鮮がつい先日の5月に標準時を変更したらしい。韓国=日本と同じ時間だそうだ。
2015年からたった3年間だけ使われたKorea Timezoneが韓国との融和をうたうパフォーマンスのために一蹴。
北朝鮮にシステム会社がどれだけあるかは知らないけど、中の人たちお疲れ様です。
おもしろい。
元号対応で、過去の帳票についてシステムテストを繰り返していたところ、明治初年のテストデータをパスしないバグが見つかった。 なんの帳票なんだそれ?