从NSString设置NSDate

时间:2011-12-02 02:52:28

标签: objective-c nsdate

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

我有以下NSStrings

NSString *year;
NSString *month;
NSString *day;
NSString *hour;
NSString *minute;

如何使用

设置NSDate *date变量

由于

2 个答案:

答案 0 :(得分:5)

示例:

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

答案 1 :(得分:0)

您基本上必须创建一个包含创建日期所需的所有字段的字符串。

就是这样:

NSString * dateString = [NSString dateWithFormat: @"%@-%@-%@ %@:%@", year, month, day, hour, minute];

然后,您可以按照the solutions provided in this related questionthis other related question提出您的NSDate(如果这些解决方案无法解释问题,您可以轻松进行搜索 - 问题如何将NSStrings转换为NSDates“经常在这里出现。”