Objective c 从NSString设置NSDate

Objective c 从NSString设置NSDate,objective-c,nsdate,Objective C,Nsdate,我正在使用XCode 4.2开发iPhone应用程序,我是应用程序开发新手 我有以下几个字符串 NSString *year; NSString *month; NSString *day; NSString *hour; NSString *minute; 如何使用这些变量设置NSDate*date变量 谢谢您基本上需要创建一个字符串,其中包含创建日期所需的所有字段 也就是说,类似于: NSString * dateString = [NSString dateWithFormat: @"%

我正在使用XCode 4.2开发iPhone应用程序,我是应用程序开发新手

我有以下几个字符串

NSString *year;
NSString *month;
NSString *day;
NSString *hour;
NSString *minute;
如何使用这些变量设置
NSDate*date
变量


谢谢

您基本上需要创建一个字符串,其中包含创建日期所需的所有字段

也就是说,类似于:

NSString * dateString = [NSString dateWithFormat: @"%@-%@-%@ %@:%@", year, month, day, hour, minute];
然后,您可以跟踪或提出您的NSDate(如果这些解决方案没有足够的解释,您可以轻松地进行搜索——“如何将NSStrings转换为NSDate”的问题经常出现在这里)。

示例:

NSString *year   = @"2011";
NSString *month  = @"1";
NSString *day    = @"2";
NSString *hour   = @"3";
NSString *minute = @"3";

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.year   = [year intValue];
dateComponents.month  = [month intValue];
dateComponents.day    = [day intValue];
dateComponents.hour   = [hour intValue];
dateComponents.minute = [minute intValue];

NSDate *date = [[NSCalendar currentCalendar] dateFromComponents:dateComponents];
NSLog(@"date: %@", date);
NSLog输出:

date: 2011-01-02 08:03:00 +0000