我试图从日期对象中获取年、月和日,但以下内容给了我一些完全随机的东西:
Date d = new Date();
System.out.println(d.getYear() + " - " + d.getMonth() + " - " + d.getDay());
我得到:112 - 9 - 1
有谁知道为什么?你有更好的方法吗?对于我的程序,我需要 Date 对象。
我试图从日期对象中获取年、月和日,但以下内容给了我一些完全随机的东西:
Date d = new Date();
System.out.println(d.getYear() + " - " + d.getMonth() + " - " + d.getDay());
我得到:112 - 9 - 1
有谁知道为什么?你有更好的方法吗?对于我的程序,我需要 Date 对象。
阅读这三种方法的javadoc(不推荐使用,因此不应该使用,顺便说一句)会告诉你为什么:
使用 Calendar 获取日期字段,并使用 DateFormat 格式化日期。
源代码解释了原因。
@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;
}