Date.toString()给出了与set 1不同的一年?

ste*_*wpf 1 java date

在Java 7上(未测试Java 6):

import java.util.Date;

public class Main {

    public static void main(String[] args) {
        Date test=new Date(2012, 12, 12);
        System.out.println("test=" + test.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

给我

test=Sun Jan 12 00:00:00 CET 3913
Run Code Online (Sandbox Code Playgroud)

注意年份:3913,这与我通过的年份(2012年)不同.

这是一个错误还是我错过了什么?

(是的,我知道我正在使用的Date构造函数已弃用.)

Lou*_*man 7

Date构造函数采用文档中指定的年份减去1900年.

(这是你应该尽可能使用JODA的众多原因之一,它有一个明显更好的设计和不太令人惊讶的API.特别是,我宁愿用生锈的刀子删除我的小拇指而不是使用内置的Java时间API .)