我在日期解析方面遇到问题。它可以在我的设备和模拟器上运行,但不能在客户端设备上运行(这也是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}

最佳答案

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

formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];

关于ios - NSDateFormatter在测试器设备上失败,并显示NSInvalidValue,但在我的设备上未失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11240643/

10-15 12:39