解析包含“T”和+时区偏移的日期字符串

时间:2014-01-07 05:34:53

标签: ios cocoa-touch nsdateformatter date-parsing

我需要检查某些项目的日期。我正在从JSON文件中读取一个字符串,如下所示:

"revisionDate":"2013-08-28T13:07:53+00:00" 

当我尝试格式化时

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-d HH:mm:ssZ"];
NSDate *date = [dateFormat dateFromString:revisionDateTime];

date总是零。我认为这是因为那个时间戳字符串中的T。我不知道如何处理它,而且the reference I'm using中似乎没有提及(至少我能找到)。

关于我如何处理这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

尝试修改NSDateFormatter实例以考虑T

[dateFormat setDateFormat:@"yyyy-MM-dd T HH:mm:ssZZZZ"];

您可能还想考虑在引号之间封装文字字符串值(在本例中为短划线,空格,冒号和T):

[dateFormat setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZZZZ"]