本文介绍了从年、月、日创建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
1989 年 1 月 25 日星期三 00:00:08 IST
我通过了 25 12 1988
但我得到了 25 Jan 1989
.为什么?
I am passing 25 12 1988
but I get 25 Jan 1989
. Why?
推荐答案
日历中的月份从零开始.所以 12 被解释为十二月 + 1 个月.使用
Months are zero-based in Calendar. So 12 is interpreted as december + 1 month. Use
c.set(year, month - 1, day, 0, 0);
这篇关于从年、月、日创建java日期对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!