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的日子