¨解读
Calendar从星期日开始到星期六为一个周期,数字表示依次为:1,2,3……7;MONTH的表示是从数字0开始,所以月份应该是该数字+1。所以我们在使用的时候一定要仔细的阅读API文档,避免类似的陷阱。
¨案例
Calendar cal = Calendar.getInstance();
cal.set(1999, 12, 31); // Year, Month, Day
System.out.print(cal.get(Calendar.YEAR) + " ");
我们所期待程序打印的结果是 1999,可是程序打印的结果却不是这样.它将打印出来 2000。在 cal.set(1999, 12, 31)中, 将日历设置成1999年第13个月的第31天,但是标准日历中只会有12个月,所以 直接转换为下一年.因此我们打印出来的就是2000了。
所以建议日期和星期使用Calendar的定义的常量以避免混淆。
本文通过实例详细解析了 Java 中 Calendar 类的使用误区,特别是关于月份设置从0开始的特性,提醒开发者注意此类陷阱并提供了解决方案。
143

被折叠的 条评论
为什么被折叠?



