无法从 NSString 获取 NSDate

Not able to get NSDate from NSString

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

格式字符串应该是

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

注意大写 .SSS.


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