我正在尝试在我的程序中创建一个最大日期:
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: Year out of range.
那么可以传递给Timestamp的最大long值是多少呢? 或者还有什么我在这里遗漏的吗?
如果重要的话,我会使用 Oracle 数据库。
提前致谢!
最佳答案
java.util.Date
可以处理的最大年份是 292278994
java.sql.Timestamp
的最大年份值为 9999
很确定这就是它的工作原理,因为我不断收到这个错误:
ORA-01841:(完整)年份必须介于 -4713 和 +9999 之间,并且不能为 0
关于java - java.sql.Timestamp 可以处理的最大年份是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33255430/