我对内部Java工作和日历有一个小问题,我不明白为什么在使用示例时:
Calendar c = Calendar.getInstance();
mesInt = c.get(Calendar.MONTH);
System.out.println(mesInt);
如果是,那么我打印mesInt,如果实际月份是2月,则我得到mesInt = 1;
有什么特殊原因吗?我想知道,因为我之前在数据库方面遇到问题,并且我想知道是否可以从本月开始以0开始的解决方案。
谢谢大家,如果问题重复,对不起,我还没有找到。
PD:我知道这是从零开始的,但是我想知道真正的原因。
PD2:抱歉我的英语不好。我知道解决方案,我想知道原因。
最佳答案
文档指出第一个月为0。
我想知道真正的原因。
我怀疑从0开始更容易计算。我不确定是否有人会设计日历。也许这是有道理的,因为多年来的许多编号,AM / PM等都从0开始。一周中的BTW天从1开始。
知道我想知道是否有解决办法。
使用
int mesInt = c.get(Calendar.MONTH) + 1;
顺便说一句,对我来说,奇怪的是UNIDECIMBER,而uni-deci表示11而不是13。