我用来Date()获取我的生日日期,但它返回了本月的不匹配.我的生日是04年3月4日至87日.所以我给了一个输入,
Date birthDay= new Date(87,03,04,8,30,00);
Run Code Online (Sandbox Code Playgroud)
但它会返回正确的年,日和时间.但是月份是个问题.它显示4月份.
这有什么问题?
月份设置为0到11,1月= 0,2月= 1,...,12月= 11.
所以,四月做这个:
Date birthDate = new Date(87,02,04,8,30,00); //March = 2
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助;
编辑
不推荐使用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();
Run Code Online (Sandbox Code Playgroud)
(它会返回与你要求的相同的东西)
Date班级中的月份从1开始为0,因此3月是2,而不是3.
此外,Date(int, int, int, int, int, int)不推荐使用构造函数,因此您应该考虑使用Calendar该类.
最后,小心Java中的前导零 - 它们代表八进制常量.这个数字09不符合你的期望.