我遇到日期解析问题。它适用于我的设备和模拟器,但不适用于客户端设备(也是iPhone iOS 5.1.1,但可能是不同的配置)
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSDate *date = nil;
NSError *error = nil;
[formatter setDateFormat:@"EEE, dd MMM y HH:mm:ss zzz"];
if (![formatter getObjectValue:&date forString:@"Mon, 21 Jun 2012 21:21:21 GMT" range:nil error:&error])
{
NSLog(@"%@", error);
}
输出
Error Domain=NSCocoaErrorDomain Code=2048 "The operation couldn’t be completed. (Cocoa error 2048.)" UserInfo=0x446f10 {NSInvalidValue=Mon, 21 Jun 2012 21:21:21 GMT}
答案 0 :(得分:6)
您需要将日期格式化程序上的区域设置设置为en_US_POSIX
。
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];