为什么NSDateFormatter返回nil?
问题描述:
更精确地说,这是不是为我工作:为什么NSDateFormatter返回nil?
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-ddTHH:mm:ssZ"];
NSDate *prevday = [formatter dateFromString:@"2011-04-07T22:00:48Z"];
prevday将返回NIL。
答
根据该文件;
日期格式化使用标准以下版本;
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"];
就是为什么它返回nil。
的“Z”预计的时间段是在3个字符时区的事情...
降Z或用引号字符转义。阅读上面的tr35文档以获取更多信息。
+1
你只需要在T和Z上添加刻度,所以它会是:[formatter setDateFormat:@“YYYY-MM-dd'T'HH:mm:ssZ''”]; – user1447414 2014-04-23 10:18:09
你有没有试过? – 2011-04-08 18:41:52