使用java Calendar API的特定日期编号

Djo*_*joz 8 java calendar date

如何使用Calendar API从给定日期获取日期编号.

示例:
02/01/20162016年第一个星期六(结果1)
10/01/2015是2015年的第二个星期六(结果2)

我以为我可以使用周数

int week = calendar.get(Calendar.WEEK_OF_YEAR);
Run Code Online (Sandbox Code Playgroud)

但是,当我们有53周的先例年时,它不起作用

示例:09/01/20161在2016年的第二个星期六返回

Djo*_*joz 0

解决了它setMinimalDaysInFirstWeek()

1 - 我根据需要获取周数:int weekNbr = cal.get(Calendar.WEEK_OF_YEAR);

2 - 我将第一周的天数设置为 1 :cal.setMinimalDaysInFirstWeek(1);

3 周数现在将反映正确的周末数: int weekendNbr = cal.get(Calendar.WEEK_OF_YEAR);