写calendar类的时候,年份,日,小时,都没有问题,就是当在构造函数中传入参数12时,输出的时候却是0。
原来,在calendar中月份是从0~11的,0代表的是一月,依次都是这样的。
来看代码具体如何实现的吧,
public Employee(String name,double salary,int year,int month,int day) {
this.name=name;
this.salary=salary;
hireday.set(year, month-1, day);
}
当你假设输入12月,如果这里month不减一的话就会输出0,所以我们减一,此时就是11,在系统中11就是代表12月份,但是,如果此时直接输出,将会是11月,为了输出显示12月份,我们要在输出的函数中在+1即可,
public String toString() {
return “name=”+name+" “+“salary=”+salary+” “+“hireday=”+hireday.get(Calendar.YEAR)+” “+(hireday.get(Calendar.MONTH)+1)+” "
+hireday.get(Calendar.DATE);
}
你懂我意思吧!
java中的calendar类输出月份的时候,月份12无法显示
于 2018-10-24 21:16:03 首次发布
本文详细解析了Java中Calendar类的月份参数设定,解释为何输入12会转化为0,以及如何正确设置和输出月份,确保代码逻辑的准确性。
1万+

被折叠的 条评论
为什么被折叠?



