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
!!!!!
为什么?
请帮我解决。
答案 0 :(得分:2)
尝试:
java.sql.Date date = new java.sql.Date(2001 - 1900, 10, 10);
请参阅java.sql.Date
说明:
年 - 减去1900年;必须是0到8099.(注意8099是9999减去1900。)
不推荐使用该构造函数。您应该更喜欢使用其他java.sql.Date
构造函数。
答案 1 :(得分:2)
这是来自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
此建构程序也已弃用。年份值加上tp 1900
答案 2 :(得分:0)
首先,不推荐使用该构造函数,不应该使用它。
其次,JavaDoc提到:
Parameters:
year - the year minus 1900; must be 0 to 8099.
(Note that 8099 is 9999 minus 1900.)
因此,根据文档,您确实指定了2001 + 1900
年3901
: - )