今手掛けているシステムで、生年月日に関する機能を加えたところ、ある一部の生年月日で、登録した生年月日マイナス1日で表示される現象が発生してしまいました。

 

なんで一部の人だけ?
システムのバグ?
どういった条件で発生するの?

 

解決まで長引くと厄介だな~って思いながらいろいろ調べてみると、どうやら戦後、少しの期間だけ施行されていたサマータイムの時期が関係していることを発見!

以下の期間の生年月日だった人が自動的にマイナス1時間で処理されてしまったようです。

1948年5月2日 1:00~9月11日 23:59
1949年4月3日 1:00~9月10日 23:59
1950年5月7日 1:00~9月9日 23:59
1951年5月6日 1:00~9月8日 23:59

なんだ~、昔、日本でも施行されたサマータイム(当時はサンマ―タイム)が悪さしてたのかよ~。

つまり「1949年8月2日」で登録したのに、システム上の処理では「1949年8月1日(の23時00分)」になっていた、ということ。

表示上はYYYYMMDDなんだけど、裏側ではYYYYMMDD HHMMSS形式の場合は、こういった問題が起こるんだねー。

後から考えると単純なミスってわかるけど、その昔、サマータイムがあったことなどハナから気にかけてないと、こういったことが起こるのね。

勉強になりました。

 

っちゅーか、オリンピックに向けてサマータイム、なんて話があったけど、システム屋さんががこぞって「ムリ~っ」て言うのがよくわかりました。

サンマ

Leave a comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください