更确切地说,这对我不起作用:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-ddTHH:mm:ssZ"];
NSDate *prevday = [formatter dateFromString:@"2011-04-07T22:00:48Z"];
prevday正在返回NIL。
答案 0 :(得分:16)
您需要在字符串中插入刻度:
@"YYYY'-'MM'-'dd'T'HH':'mm':'ss'Z'"
答案 1 :(得分:0)
根据这份文件;
日期格式化程序使用以下版本的标准;
http://unicode.org/reports/tr35/tr35-10.html#Date_Format_Patterns
所以你要使用日期格式'yyyy-MM-ddTHH:mm:ss'我不确定Z,那应该是时区吗?格式字符串中的Z将为您提供3个字母的时区名称。
根据您的编辑进行编辑:
[formatter setDateFormat:@"YYYY-MM-ddTHH:mm:ssZ"];
为什么它会返回零。
'Z'期望时区属于3个字符的时区...
删除Z或使用引号字符将其转义。阅读上面的tr35 doc以获取更多信息。