我尝试执行以下代码以从NSString
获取日期:
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"GMT"]];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.sssZ"];
NSDate * date = [formatter dateFromString:@"2015-01-18T09:33:49.699-0600"];
NSLog(@"%@",date);
为什么我收到nil
值?
答案 0 :(得分:3)
格式字符串应为
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
请注意大写.SSS
。
对于语言环境,您应该按Technical Note TN1480中的建议指定@"en_US_POSIX"
。这将确保您可以成功解析此RFC 3339 / ISO 8601格式的日期,无论用户的本地化设置如何。