mazinlabsのブログ

RubyとかCloudとかその辺の記事を書いたり書かなかったり

JavaとPostgreSQLで日付を使うときの注意点

本日の業務中に気づいたこと。


Strutsを使ったシステムで日付の入力値に2000万年を入れてみると、
データベース側でエラーが出た。


次に20億年程を入れてみると今度はvalidationに引っかかった。


色々調べてみたところどうやらPostgreSQLのdate型と、
JavaのCalendar型で扱える日付の最大値が違うことが原因らしい。

プログラム 最大値
PostgreSQL date 西暦 5874897年
Java Calendar 西暦 292278994年


こんな未来の値を使うことはないとは思うけど、
もし使う際は気を付けた方がいいかな。