从java.util.Calendar javadoc:
第一周
日历使用两个参数定义了特定于语言环境的一周工作日:一周的第一天和第一周的最少天数(从1到7)。这些数字是在构造Calendar时从语言环境资源数据中获取的。也可以通过设置其值的方法明确指定它们。在设置或获取WEEK_OF_MONTH或WEEK_OF_YEAR字段时,日历必须确定月份或年份的第一周作为参考点。每月或每年的第一周定义为最早的7天时间段,从getFirstDayOfWeek()开始,并且至少包含该月或一年中的getMinimalDaysInFirstWeek()天。在第一周之前编号为…,-1、0的周;编号为2、3,…的星期。请注意,get()返回的归一化编号可能不同。例如,特定的Calendar子类可以将一年的第1周之前的一周指定为上一年的n周。
因此,它是特定于语言环境的。在您的情况下,如果该周包含新年的日子,则将其计为新年的第1周。
您可以使用Calendar#setMinimalDaysInFirstWeek(int)更改此行为。



