本文介绍了从年、月、日创建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日期对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 00:49