当我像这样使用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/

10-13 22:52