从字符串“2014-10-08T15:09:19 + 05:30”获取日期

时间:2014-10-15 07:09:47

标签: ios objective-c nsdate nsdateformatter

我想从这个字符串中获取日期2014-10-08T15:09:19 + 05:30。我的代码是

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:sszzz"];
NSLog(@"%@",[dateFormatter dateFromString:@"2014-10-08T15:09:19+05:30"]);

但是o / p是2014-10-08 09:39:19 +0000

预计是2014-10-08 15:09 PM

还看到其他线程,并按照其他人的建议尝试使用timezone,但无法获得正确的日期。

1 个答案:

答案 0 :(得分:2)

问题在于您的代码等同于:

NSDate *date = [dateFormatter dateFromString:@"2014-10-08T15:09:19+05:30"];
NSLog(@"%@", [date description]);
//                 ^^^^^^^^^^^

[NSDate description]在GMT时区生成一个字符串,这会导致您的混淆。