当我像这样使用GregorianCalendar实例化新日期时:
GregorianCalendar myCal = new GregorianCalendar(29,5,2011);
然后,最后,我执行以下代码(期望它返回2011),然后返回35。我想知道为什么会这样,因为我需要将其与过去的日期(2011)进行比较。
System.out.println(myCal.get(Calendar.YEAR));
最佳答案
您甚至还在阅读documentation /方法签名吗?
public GregorianCalendar(int year, int month, int dayOfMonth)
尝试这个:
GregorianCalendar myCal = new GregorianCalendar(2011, Calendar.MAY, 29);
顺便说一句:第五个月实际上是六月,我想您想要五月(月份从0开始)。为避免混淆,请使用诸如
Calendar.MAY
的常量(等于4 ...)关于java - Java-GregorianCalendar输出错误的年份?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9753645/