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
Wed Jan 25 00:00:08 IST 1989
我通过了25 12 1988,但得到了25 Jan 1989。 为什么?
代码中的b是什么?
日历中的月份从零开始。因此,将12解释为12月+ 1个月。使用
c.set(year, month - 1, day, 0, 0);
IBM API设计器,JavaScript API设计器。除此之外,可能没有人。请注意,Java 8 java.time API现在已经淘汰了Calendar,它做对了。
在Java 8之前,这是我最喜欢的方式:
Date date = new GregorianCalendar(year, month - 1, day).getTime();
我说这是