我知道
我知道年周数的定义取决于
因此,1月1日可能属于以下情况之一:
Calendar.WEEK_OF_YEAR
可以用于获取给定日期的“周数”,但如何获得相应的年份?我知道年周数的定义取决于
Locale
,我主要感兴趣的是DIN 1355-1 / ISO 8601 / 德国解决方案(但我不想让它成为一个固定的实现)。因此,1月1日可能属于以下情况之一:
- 新年的第一周(1):例如2015-01-01属于2015年的第1周
- 上一年的最后一周(53):例如2016-01-01属于2015年的第53周
Date date =
Calender calendar = new GregorianCalendar(Locale.GERMAN)
calendar.setTime(date);
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
int year = ???? <------------
System.out.println(date + " is in " + weekOfYear + " of " + year);
* 这个解决方案不是:date.getYear
,date.getFirstDayOfWeek.getYear
或者date.getLastDayOfWeek.getYear