在java.util.Calendar,1月定义为第0个月,而不是第1个月.是否有任何具体原因?
我见过很多人对此感到困惑......
根据doc,calendar set()是:
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html#set%28int,%20int,%20int%29
set(int year, int month, int date)
Sets the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH.
Run Code Online (Sandbox Code Playgroud)
码:
Calendar c1 = GregorianCalendar.getInstance();
c1.set(2000, 1, 30); //January 30th 2000
Date sDate = c1.getTime();
System.out.println(sDate);
Run Code Online (Sandbox Code Playgroud)
输出:
Wed Mar 01 19:32:21 JST 2000
Run Code Online (Sandbox Code Playgroud)
为什么不是1月30日???