繁体   English   中英

java.sql.date的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM