我正在玩Calendar类并得到一些令人困惑的结果:
Calendar thisCal = Calendar.getInstance();
thisCal.clear();
thisCal.set(2012,12,8);
System.out.println("Year is: " + thisCal.get(Calendar.YEAR));
System.out.println("Month is: " + thisCal.get(Calendar.MONTH));
System.out.println("Day of Month is: " + thisCal.get(Calendar.DAY_OF_MONTH));
Run Code Online (Sandbox Code Playgroud)
输出:
年份是:2013年
月份是:0
每月的日子是:8
我很困惑!
该MONTH字段为零(我认为继承自某些POSIX API).因此,您将其设置为2012年的第13个月,它将其解释为2013年的第一个月(数字0).
如果将lenient属性设置为false,则会抛出异常.