我正在尝试使用以下内容在程序中创建最大日期:
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数据库。
提前致谢!
答案 0 :(得分:4)
java.util.Date
可以处理的最长年份是292278994年
,java.sql.Timestamp
的最大年份值为9999
很明白,由于这个错误,我一直在努力:
ORA-01841: (full) year must be between -4713 and +9999, and not be 0