【发布时间】:2013-05-06 03:21:11
【问题描述】:
int day = Integer.parseInt(request.getParameter("day")); // 25
int month = Integer.parseInt(request.getParameter("month")); // 12
int year = Integer.parseInt(request.getParameter("year")); // 1988
System.out.println(year);
Calendar c = Calendar.getInstance();
c.set(year, month, day, 0, 0);
b.setDob(c.getTime());
System.out.println(b.getDob());
输出是:
1988
1989 年 1 月 25 日星期三 00:00:08 IST
我通过25 12 1988,但我得到25 Jan 1989。为什么?
【问题讨论】:
-
代码中的b是什么?
-
对于该问题的新读者,我建议您不要使用
Calendar。该课程设计不良且早已过时。而是使用来自java.time, the modern Java date and time API 的LocalDate。见the answer by Przemek。