我必须为此代码执行的操作是使用GregorianCalendar类显示一年中的当前年份,月份和日期。由于某种原因,一切都是正确的,但月份。该程序将月份返回为11而不是12.任何建议?
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
GregorianCalendar Calendar = new GregorianCalendar();
int year = Calendar.get (GregorianCalendar.YEAR);
int month = Calendar.get (GregorianCalendar.MONTH);
int day = Calendar.get (GregorianCalendar.DAY_OF_MONTH);
System.out.println("the current year is " + year);
System.out.println("the current month is " + month);
System.out.println("the current day is " + day);
}
答案 0 :(得分:2)
Java将月份数字存储为Calendar
中的0。当您使用MONTH
,11
does represent December时,这是正确的。您必须在此输出中添加1
才能转换为我们习惯使用的内容 - 范围为1-12。
格里高利和朱利安日历中一年中的第一个月是1月,这是0
答案 1 :(得分:0)
只需添加+1,java从0开始计算数月即
GregorianCalendar.JANUARY == 0
答案 2 :(得分:0)