【发布时间】:2016-01-11 18:39:41
【问题描述】:
我知道Calendar.WEEK_OF_YEAR 可用于获取给定日期的“一年中的一周”,但如何获取相应的年份?
我知道Week of Year is dependent在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
【问题讨论】: