当我使用GregorianCalendar实例化一个新的日期时,如下所示:
GregorianCalendar myCal = new GregorianCalendar(29,5,2011);
Run Code Online (Sandbox Code Playgroud)
然后,最后,我执行以下代码(期望它返回2011),它返回35.我想知道为什么这样,因为我需要将它与传递日期(2011)进行比较.
System.out.println(myCal.get(Calendar.YEAR));
Run Code Online (Sandbox Code Playgroud)
你甚至阅读文档 /方法签名?
public GregorianCalendar(int year, int month, int dayOfMonth)
Run Code Online (Sandbox Code Playgroud)
试试这个:
GregorianCalendar myCal = new GregorianCalendar(2011, Calendar.MAY, 29);
Run Code Online (Sandbox Code Playgroud)
顺便说一句:第五个月实际上是六月,我想你想要五月(月份是0个月).为避免混淆,请使用常数Calendar.MAY(等于4 ......)