我对 Java 中的日历有一些问题。当我在日历中添加几周时,它在某些情况下无法正常工作。例如。将 week_of_yer 设置为 3,然后添加 -3 周;)在大多数情况下效果很好,但在 2010 年、2016 年等情况下效果不佳(今年是 53 周后的年份)。它看起来像JDK中的错误,我认为当周数为52时它们会改变年份:D一些简单的代码:
Calendar calendar = new GregorianCalendar();
calendar.set(Calendar.YEAR, 2016);
calendar.set(Calendar.WEEK_OF_YEAR, 3);
calendar.add(Calendar.WEEK_OF_YEAR, -3);
System.out.println("rolled week: " + calendar.get(Calendar.WEEK_OF_YEAR) + " - " + calendar.get(Calendar.YEAR));
此代码的结果是:滚动周:53 - 2016:D
应该是 53 - 2015 在所有其他情况下它应该正常工作。
有没有人有类似的问题?