Iphone 将NSString转换为NSDate

Iphone 将NSString转换为NSDate,iphone,objective-c,nsstring,nsdateformatter,Iphone,Objective C,Nsstring,Nsdateformatter,可能重复: 我需要一些格式化日期的帮助 我有一个字符串,格式为2011-10-05。如何将此NSString转换为NSDate对象 此外,我想从相应的NSDate对象中检索日期 我知道我必须使用dateFormatter,但我无法解决这个问题。非常感谢您的帮助 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"YYYY-MM-dd"]; NSDate *

可能重复:

我需要一些格式化日期的帮助

我有一个字符串,格式为
2011-10-05
。如何将此
NSString
转换为
NSDate
对象

此外,我想从相应的NSDate对象中检索日期

我知道我必须使用dateFormatter,但我无法解决这个问题。非常感谢您的帮助

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSDate *date = [dateFormatter dateFromString:@"2011-10-05"];
NSLog(@"date: %@", date);

NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *dateComponents = [calendar components:NSDayCalendarUnit fromDate:date];
NSInteger day     = [dateComponents day];
NSLog(@"day: %d", day);
NSLog输出:

date: 2011-10-05 04:00:00 +0000
day: 5