计算给定年份的周数

我想获得任何一年中的周数。即使52被接受为全球通用的答案,对于日历201520202026实际上有53几个星期。

有什么方法可以计算出来,或者有什么函数可以帮助我?

回答:

根据维基百科关于ISO周日期格式的文章,您可以使用以下代码进行计算。

    Calendar cal = Calendar.getInstance();

cal.set(Calendar.YEAR, 2015);

cal.set(Calendar.MONTH, Calendar.DECEMBER);

cal.set(Calendar.DAY_OF_MONTH, 31);

int ordinalDay = cal.get(Calendar.DAY_OF_YEAR);

int weekDay = cal.get(Calendar.DAY_OF_WEEK) - 1; // Sunday = 0

int numberOfWeeks = (ordinalDay - weekDay + 10) / 7;

System.out.println(numberOfWeeks);


似乎来自@Samuel的答案更好,并且没有Luca提到的错误

快速一线:

Integer weeksOfYear = Calendar.getInstance().getActualMaximum(Calendar.WEEK_OF_YEAR);

以上是 计算给定年份的周数 的全部内容, 来源链接: utcz.com/qa/415351.html

回到顶部