从年、月、日创建java日期对象
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
。为什么
# 1 楼答案
爪哇。时间
使用内置在Java8中的
java.time
框架如果您还需要有关时间(小时、分钟、秒)的信息,请使用从
LocalDate
到LocalDateTime
的转换# 2 楼答案
这是我在Java 8之前最喜欢的方式:
我认为这是一种比以下更干净的方法:
# 3 楼答案
见JavaDoc:
所以,你设定的月份是明年的第一个月
# 4 楼答案
Java的日历表示不是最好的,他们正在为Java8开发它。我建议你使用Joda Time或其他类似的图书馆
下面是一个使用Joda时间库中LocalDate的快速示例:
Here你可以学习快速入门教程
# 5 楼答案
月份在日历中是以零为基础的。所以12月被解释为12月+1个月。使用
# 6 楼答案
在处理日期、时间戳和持续时间时,让你的生活变得轻松。使用HalDateTime from
http://sourceforge.net/projects/haldatetime/?source=directory
例如,您可以使用它来解析输入,如下所示:
还可以指定用于解析和打印的模式