rur*_*kyi 0 java calendar week-number
很抱歉提出愚蠢问题,但我无法获得日历返回的2014年6月的正确周数:
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.set(Calendar.MONTH, Calendar.JUNE);
calendar.set(Calendar.YEAR, 2014);
calendar.setFirstDayOfWeek(Calendar.MONDAY);
System.out
.println("first day of week: " + calendar.getFirstDayOfWeek());
System.out.println("weeks in month: "
+ calendar.getActualMaximum(Calendar.WEEK_OF_MONTH));
System.out.println("days in month: "
+ calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
}
Run Code Online (Sandbox Code Playgroud)
我正进入(状态:
first day of week: 2
weeks in month: 5
days in month: 30
Run Code Online (Sandbox Code Playgroud)

为什么2014年6月的周数不是6?我在Mac OS X 10.9.3上使用jdk1.8.0_05.
一周的定义取决于每个Locale(国家,地区,等等)定义为一周的第一天.你可以检查一下Calendar#getFirstDayOfWeek().它还取决于它认为第一周的最小天数应该是什么.你可以用它Calendar#getMinimalDaysInFirstWeek().您Locale似乎表明,需要超过一天的时间来考虑一周的这段时间.
例如,Locale.CANADA自getMinimalDaysInFirstWeek()返回以来,我得到6周1.
| 归档时间: |
|
| 查看次数: |
312 次 |
| 最近记录: |