今天,应该说是本周,Calendar认为是2008年第一周
Calendar calendar = Calendar.getInstance();
Integer currYear = calendar.get(Calendar.YEAR);
Integer currWeekno = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println(currYear+":"+currWeekno);
打印结果居然是2008:1
Calendar并没有错,首先2008年没错。然后周数,由于本周包含1月1号,所以默认是第一周,但这个第一周是2009年的第一周。因为很多公司以周作为时间的基本单位,比如w1, w2, w3, ..., w52等等,这样有的周包含上一年的最后几天和下一年的前几天,都回被认为是第一周的。
你不能简单的认为Calendar出错了。
哦 时区不对?还是穿越了