ios - 解析包含 'T' 和 + 时区偏移量的日期字符串

标签 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 中似乎没有提到如何(至少我能找到) .

关于如何处理这个问题有什么想法吗?

最佳答案

尝试修改 NSDateFormatter 实例以说明 T:

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

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

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

关于ios - 解析包含 'T' 和 + 时区偏移量的日期字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20964631/

相关文章:

ios - 如何在不切换应用程序的情况下在 iOS 应用程序之间通信数据?

ios - reloadData 没有被立即调用(NSXMLParserDelegate 困境)

ios - iPhone SE 和 4s 的 Xcode 安全区域故障

iOS:向上计数动画

ios - 这些日期字符串的格式化程序字符串是什么?

取消隐藏 View 时 iOS 自动布局 fatal error NSInternalInconsistencyException

ios - 从 View Controller 中处理远程通知

iphone - if([labelView.layer containsPoint :touchPoint]) not working in Xcode

ios - swift : How to convert String to string with time format?

ios - NSDateFormatter 问题