无法从日期对象i java中获取实际日期

ged*_*agt 0 java date

可能重复:
为什么Java的Date.getYear()返回111而不是2011?

我试图让年,月和日形成一个Date对象,但以下给我一些完全随机的东西:

    Date d = new Date();
    System.out.println(d.getYear() + " - " + d.getMonth() + " - " + d.getDay());
Run Code Online (Sandbox Code Playgroud)

我得到:112 - 9 - 1

有谁知道为什么?你有一个更好的apporch?对于我的程序,我需要Date对象.

JB *_*zet 9

读取这三种方法的javadoc(不推荐使用,因此不应该使用,BTW)会告诉你原因:

  • 112:自1900年以来的年数
  • 9:月号,从0开始(所以9表示10月)
  • 1:每月的一天

使用日历获取日期字段,使用DateFormat格式化日期.