### 新年第一周的定义
https://zhuanlan.zhihu.com/p/392851646
Java Calendar 日历周和两个方法相关setFirstDayOfWeek(), setMinimalDaysInFirstWeek()
例如:
Calendar c = Calendar.getInstance();
c.setFirstDayOfWeek(Calendar.MONDAY); // 设置周一为周的第一天
c.setMinimalDaysInFirstWeek(7); // 且年份第一个有连续的7天在同一个周,该周才定义为第一周
// 以2021年为例
// 如果不设置c.setMinimalDaysInFirstWeek(7)
// 2021年12月26日 星期日 为第52周;
// 2021年12月27日 星期一 为第1周(2022年的第1周);
// 2022年1月1日 星期六 为第1周(2022年的第1周);
//
// 设置c.setMinimalDaysInFirstWeek(7)
// 2022年1月1日 星期六 为第52周(2021年的第52周);
// 2022年1月2日 星期日 为第52周(2021年的第52周);
// 2022年1月3日 星期一 为第1周(2022年的第1周);
//
// 按照公司项目开发的习惯,方便对齐项目数据,
// 需要设置c.setFirstDayOfWeek(Calendar.MONDAY)
// 同时设置 c.setMinimalDaysInFirstWeek(7) 。
// 即,新年开始第一个连续7天在同一个周内的周,定义为第一周。
// (周一为周的第一天,且1月1号在周一,才定义为新年的第一周;否则1月1号属于上一年的最后一周。)
### 获取年的天数
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2023);
logger.info(String.format("output %d 天", c.getActualMaximum(Calendar.DAY_OF_YEAR)));
// output 365 天