Java中的错误(日期)日期返回

JCh*_*ris 0 java date

我的代码中有以下行:

this.date = new Date(year, month, day);
Run Code Online (Sandbox Code Playgroud)

但是当我给出时,例如:

year = 2008
month = 1
day = 20
Run Code Online (Sandbox Code Playgroud)

我明白了:

Thu Feb 20 00:00:00 BRT 3908
Run Code Online (Sandbox Code Playgroud)

或者让我们说:

year = 2008
month = 3
day = 9
Run Code Online (Sandbox Code Playgroud)

我明白了:

Thu Apr 09 00:00:00 BRT 3908
Run Code Online (Sandbox Code Playgroud)

有什么想法有什么不对吗?

Mar*_*aux 5

您应该阅读有关构造函数的JavaDoc.参数不仅仅是您认为的参数.

它说:

year - 减去1900年; 必须是0到8099.(注意8099是9999减去1900.)
month- 0到11
day- 1到31

但是,正如Docs所说,它已被弃用.使用Calendar替代构造日期.或者使用JodaTime.