2

我有日期解析的问题。它适用于我的设备和模拟器,但不适用于客户端设备(这也是 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}
4

1 回答 1

6

您需要将日期格式化程序上的语言环境设置为en_US_POSIX.

formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
于 2012-06-28T08:20:53.397 回答