我想将2013-03- 24 T02:15:23-08:00字符串转换为NSDate对象。我尝试格式化程序字符串yyyy-MM-ddTHH:mm:ss-Z
,但NSDate对象是作为nil来的。
下面是我的转换代码:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
[dateFormatter setDateFormat:@"yyyy-MM-ddTHH:mm:ss-Z"];
NSDate* date = [dateFormatter dateFromString:image.dateTaken];
3条答案
按热度按时间kmb7vmvb1#
日期格式字符串中有两个错误:
T
字符必须用引号引起来作为'T'
。-08:00
这样的“ISO8601时区”的格式是ZZZZZ
。请注意,减号是时区本身的一部分,而不是格式的一部分。这应该可以工作:
uoifb46i2#
cnjp1d6j3#
2013-03- 24 T02:15:23-08:00在这个字符串Z不是正确的格式为-08:00...
Z的正确格式如下
Z:GMT-08:00
或
Z:-0800
请检查下面的链接供您参考
http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
如果将日期字符串更改为-0800或GMT-08:00,则可以获得正确的日期...