[英]problem with java.sql.date
public java.sql.Date getDate()
{
java.sql.Date date = new java.sql.Date(2001, 10, 10);
return date;
}
这个函数是在自己编写的日历类中。
现在我写的另一个班:
calendar c = new calendare();
java.sql.date d = c.getDate();
什么价值必须存储在d?它必须是2001,10,10
但它是3901,11,10
!!!!! 为什么? 请帮我解决一下。
尝试:
java.sql.Date date = new java.sql.Date(2001 - 1900, 10, 10);
请参阅java.sql.Date
,其中说:
年 - 减去1900年; 必须是0到8099.(注意8099是9999减去1900.)
该构造函数已弃用。 您应该更喜欢使用其他java.sql.Date
构造函数。
这是来自java.sql.Date的文档
year - the year minus 1900; must be 0 to 8099. (Note that 8099 is 9999 minus 1900.)
month - 0 to 11
day - 1 to 31
此构造函数也已弃用。 年份值增加到1900年
首先,不推荐使用该构造函数,不应该使用它。
其次,JavaDoc提到:
Parameters:
year - the year minus 1900; must be 0 to 8099.
(Note that 8099 is 9999 minus 1900.)
所以根据文档,你确实指定了2001 + 1900
,即3901
:-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.