从字符串目标C中获取日期



如何从以下日期"2014-05-16T16:15:07+01:00"中获取日期

我使用NSDateFormatter如下所示,但它不起作用。结果为null。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"];
[dateFormatter dateFromString:sDate];

删除日期格式字符串中Z周围的单引号:

NSString *sDate = @"2014-05-16T16:15:07+01:00";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"]; // 5 Zs is technically correct here.
NSDate *result = [dateFormatter dateFromString:sDate];
NSLog(@"result: %@", result); //result: 2014-05-16 15:15:07 +0000

当您引用Z时,日期格式化程序在输入字符串中期望一个文字'Z'字符,而不是时区作为与GMT的偏移量,这是您的日期字符串所包含的。

最新更新