проблема с java.sql.date - PullRequest
       1

проблема с java.sql.date

3 голосов
/ 22 апреля 2011
 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 !!!!! Зачем? пожалуйста, помогите мне в ее решении.

Ответы [ 3 ]

2 голосов
/ 22 апреля 2011

Это из документации по 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

2 голосов
/ 22 апреля 2011

Попробуйте:

java.sql.Date date = new java.sql.Date(2001 - 1900, 10, 10);

См. java.sql.Date, в котором говорится:

год - год минус 1900;должно быть от 0 до 8099. (Обратите внимание, что 8099 - это 9999 минус 1900.)

Этот конструктор устарел.Вы должны предпочесть использовать другой конструктор java.sql.Date.

0 голосов
/ 22 апреля 2011

Во-первых, этот конструктор устарел, вы не должны его использовать.

Во-вторых, JavaDoc упоминает:

Parameters:
    year - the year minus 1900; must be 0 to 8099. 
    (Note that 8099 is 9999 minus 1900.)

Итак, согласно документам, вы указали год 2001 + 1900, что 3901: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...