java.sql.Timestamp可以处理的最大年份是多少?

时间:2015-10-21 09:21:03

标签: java sql oracle date timestamp

我正在尝试使用以下内容在程序中创建最大日期:

import java.util.Date;
import java.sql.Timestamp;

Date maxDate = new Date(Long.MAX_VALUE);
...
Timestamp ts = new Timestamp(maxDate.getTime());

如果我是正确的maxDate.getTime();返回Long.MAX_VALUE的值,那么这无关紧要,我本可以简单地写一下new Timestamp(Long.MAX_VALUE);我是对的吗?

我的问题是我的程序此时会出现以下异常:

  

java.sql.SQLException:年份超出范围。

那么可以传递给Timestamp的最大长值是多少? 或者我还缺少什么?

如果重要的话,我正在使用Oracle数据库。

提前致谢!

1 个答案:

答案 0 :(得分:4)

java.util.Date可以处理的最长年份是292278994年

  

When will the java date collapse?

java.sql.Timestamp的最大年份值为9999

很明白,由于这个错误,我一直在努力:

ORA-01841: (full) year must be between -4713 and +9999, and not be 0