Java Calendar中一周中的错误?

Evg*_*eny 8 java calendar date

以下代码计算特定日期的工作周.

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal = new GregorianCalendar();
cal.setTime(df.parse("2015-12-27 08:00:00"));
System.err.printf("%d.%02d\n", cal.getWeekYear(), cal.get(Calendar.WEEK_OF_YEAR));
Run Code Online (Sandbox Code Playgroud)

它目前打印2016.01.

据我所知,工作周数规格,2016.01是2016年第4周有4天,但12月27日没有办法属于这一周.

有没有办法在Java 7中做到这一点,它可以在假设星期一开始几周的任何一年工作?

Kos*_*ias 6

尝试将星期一设置为一周的第一天.

cal.setFirstDayOfWeek(Calendar.MONDAY);
Run Code Online (Sandbox Code Playgroud)