Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';i don’我不能从java中的日期对象中获取真实的日期_Java_Date - Fatal编程技术网

Can';i don’我不能从java中的日期对象中获取真实的日期

Can';i don’我不能从java中的日期对象中获取真实的日期,java,date,Java,Date,可能重复: 我试图从Date对象中获取年、月和日,但下面给出的结果完全是随机的: Date d = new Date(); System.out.println(d.getYear() + " - " + d.getMonth() + " - " + d.getDay()); 我得到:112-9-1 有人知道为什么吗?你有更好的预约吗?对于我的程序,我需要日期对象。是的。。。 具体而言,getYear返回的年份是当前公历年减去1900 此外,这些getter还不受欢迎。你应该

可能重复:

我试图从Date对象中获取年、月和日,但下面给出的结果完全是随机的:

    Date d = new Date();
    System.out.println(d.getYear() + " - " + d.getMonth() + " - " + d.getDay());
我得到:112-9-1

有人知道为什么吗?你有更好的预约吗?对于我的程序,我需要日期对象。

是的。。。

具体而言,
getYear
返回的年份是当前公历年减去1900

此外,这些getter还不受欢迎。你应该使用这个类

如果必须使用日期对象,则使用
Calendar.getInstance().setTime(dateObject)

阅读这三种方法(已弃用,因此不应使用,顺便说一句)会告诉您原因:

  • 112:自1900年以来的年数
  • 9:月数,从0开始(因此9表示10月)
  • 1:月日

使用日历获取日期字段,并使用日期格式格式化日期。

源代码解释了原因

@Deprecated
public int getYear() {
    return normalize().getYear() - 1900;
}
@Deprecated
public int getMonth() {
return normalize().getMonth() - 1; // adjust 1-based to 0-based
}

@Deprecated
public int getDay() {
return normalize().getDayOfWeek() - gcal.SUNDAY;
}

正是我要发布的+1我想最后一个肯定是每周的第二天。不是monthOpposite的日子