我用Date()
获取我的生日日期,但它返回了月份的不匹配。我的生日是87年3月4日。所以我给了一个输入,在java中,Date()方法返回一个值。但我很困惑,
Date birthDay= new Date(87,03,04,8,30,00);
但它返回正确的年份,日期和时间。但月份是问题。它显示四月份。
这是什么问题?
我用Date()
获取我的生日日期,但它返回了月份的不匹配。我的生日是87年3月4日。所以我给了一个输入,在java中,Date()方法返回一个值。但我很困惑,
Date birthDay= new Date(87,03,04,8,30,00);
但它返回正确的年份,日期和时间。但月份是问题。它显示四月份。
这是什么问题?
个月从0设置为11,一月= 0,日= 1,...,十二月= 11
所以,四月做到这一点:
Date birthDate = new Date(87,02,04,8,30,00); //March = 2
希望这有助于;
EDIT
的Date
类与此构造public Date(int year, int month, int date, int hrs, int min)
被弃用(即,它已经被宣布@Deprecated
)。
反而这样做。
Calendar calendar = Calendar.getInstance();
Calendar.set(1987, 2, 4, 0, 0, 0);
Date birthDate = calendar.getTime();
(它会返回同样的事情,你要的)
在Date
类月份从0开始的月份,所以三月是2,而不是3
此外,Date(int, int, int, int, int, int)
构造已过时,所以你应该考虑使用Calendar
类代替。
最后,要小心Java中的前导零 - 它们表示八进制常量。号码09
不会做你期望的。
+1约八进制警告什么位简短。 – Grundlefleck 2010-03-06 09:44:36
你可以给你正在努力实现 – gmhk 2010-03-06 08:13:55