1
我最近更新Xcode到版本6.0,當我這樣做時,我被警告說NSDateComponents
week
方法已被棄用,並且新的weekOfYear
方法取代它。我相信這些方法應該會返回一年中的第一週,介於1和52之間。但是,使用weekOfYear
獲得的值遠遠超過52.weekOfYear無法正常工作
我用來測試此代碼的代碼如下。有人可以爲我驗證這一點,如果我做錯了什麼,請告訴我那是什麼?
- (void)testWeekOfYearMethod
{
NSLog(@"Inside testWeekOfYearMethod...");
NSDate *date = [NSDate date];
//NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendar *gregorian = [NSCalendar currentCalendar];
NSDateComponents *weekdayComponents = [gregorian components:NSWeekCalendarUnit fromDate:date];
NSInteger weekOrdinal = [weekdayComponents weekOfYear];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd 'at' HH:mm"];
NSString *formattedString = [dateFormatter stringFromDate:date];
NSLog(@"In getWeekContainingDate(), Date: %@ has week %ld", formattedString, [[NSNumber numberWithInteger:weekOrdinal] integerValue]);
}