本日の業務中に気づいたこと。
Strutsを使ったシステムで日付の入力値に2000万年を入れてみると、
データベース側でエラーが出た。
次に20億年程を入れてみると今度はvalidationに引っかかった。
色々調べてみたところどうやらPostgreSQLのdate型と、
JavaのCalendar型で扱える日付の最大値が違うことが原因らしい。
プログラム | 型 | 最大値 |
---|---|---|
PostgreSQL | date | 西暦 5874897年 |
Java | Calendar | 西暦 292278994年 |
こんな未来の値を使うことはないとは思うけど、
もし使う際は気を付けた方がいいかな。