Calendar calCurrent = Calendar.getInstance();
calCurrent.set(2007, 5, 31)
System.out.println(calCurrent.get(Calendar.DAY_OF_MONTH));输出怎么为6而不是5?
真奇怪这么简单的程序除了什么问题?
calCurrent.set(2007, 5, 31)
System.out.println(calCurrent.get(Calendar.DAY_OF_MONTH));输出怎么为6而不是5?
真奇怪这么简单的程序除了什么问题?
我重来我:Calendar calCurrent = Calendar.getInstance();
calCurrent.set(2007, 5, 31)
System.out.println(calCurrent.get(Calendar.MONTH)); 输出怎么为6而不是5?
真奇怪这么简单的程序除了什么问题?
public final void set(int year,
int month,
int date,
int hourOfDay,
int minute,
int second)设置字段 YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE 和 SECOND 的值。保留其他字段以前的值。如果不需要这样做,则先调用 clear()。 参数:
year - 用来设置 YEAR 日历字段的值。
month - 用来设置 MONTH 日历字段的值。Month 值是基于 0 的。例如,0 表示 January。
date - 用来设置 DAY_OF_MONTH 日历字段的值。
hourOfDay - 用来设置 HOUR_OF_DAY 日历字段的值。
minute - 用来设置 MINUTE 日历字段的值。
second - 用来设置 SECOND 日历字段的值。------------------------------------------------------------月份从0开始
calCurrent.set(2007, 5, 31)
实际设置是6月31号,6月最多30天,6月31号被解释为7月1号,获取MONTH返回6
这个的确超越了我直觉的范围,没有想到会用0标识一月,有点bt。不过好歹问题解决了,谢谢各位!