在java中,Date()方法返回一个值。但我很困惑

时间:2010-03-06 07:23:03

标签: java date

我使用Date()来获取我的生日日期,但它返回了月份的不匹配。我的生日是04年3月4日。所以我给了一个输入,

Date birthDay= new Date(87,03,04,8,30,00);

但它会返回正确的年,日和时间。但是月份是个问题。它显示四月份。

这有什么问题?

2 个答案:

答案 0 :(得分:7)

月份设置为0到11,1月= 0,2月= 1,...,12月= 11。

所以,四月做这个:

Date birthDate = new Date(87,02,04,8,30,00); //March = 2

希望这会有所帮助;

修改

不推荐使用此构造函数Date的{​​{1}}类(即已将其声明为public Date(int year, int month, int date, int hrs, int min))。

而是这样做。

@Deprecated

(它将返回与你要求的相同的东西)

答案 1 :(得分:5)

Date课程中的月份从1开始为0,因此3月是2,而不是3。

此外,不推荐使用Date(int, int, int, int, int, int)构造函数,因此您应该考虑使用Calendar类。

最后,小心Java中的前导零 - 它们代表八进制常量。数字09不符合您的预期。