无法从NSString获取NSDate

时间:2015-01-18 17:41:11

标签: ios objective-c nsdate nsdateformatter

我尝试执行以下代码以从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值?

1 个答案:

答案 0 :(得分:3)

格式字符串应为

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];

请注意大写.SSS


对于语言环境,您应该按Technical Note TN1480中的建议指定@"en_US_POSIX"。这将确保您可以成功解析此RFC 3339 / ISO 8601格式的日期,无论用户的本地化设置如何。