我的问题非常清楚。今年,2014年12月28日至31日降至2014年的第53周。 出于某种原因,当我从日期中提取组件时,NSCalendar生成了错误的值。 为什么?我错过了什么吗?
NSDateComponents *mockTodayComponents = [[NSDateComponents alloc] init];
mockTodayComponents.day = 27;
mockTodayComponents.month = 12;
mockTodayComponents.year = 2014;
NSDate *mockToday = [[NSCalendar currentCalendar] dateFromComponents:mockTodayComponents];
/**************************/
NSDateComponents *weekOfYearComponents = [[NSCalendar currentCalendar] components:NSCalendarUnitWeekOfYear | NSCalendarUnitYear
fromDate:mockToday];
我明白了
<NSDateComponents: 0xae7aba0>
Calendar Year: 2014
Week of Year: 1
打印日历给我
(lldb) po calendar.timeZone
Europe/London (GMT+1) offset 3600 (Daylight)
(lldb) po calendar.calendarIdentifier
gregorian