满嘴:当我将日期“Tue, 15 Jan 2013 11:18:57 -0800”传递给 NSDateFormatter 时,模式字符串 @"EEE, dd MMM yyyy HH:mm:ss ZZZ" 当我的区域格式设置为“美国”,它工作正常。
当我做同样的事情时——除了我的区域格式设置为德国——它无法解析它。
知道为什么会这样吗?
满嘴:当我将日期“Tue, 15 Jan 2013 11:18:57 -0800”传递给 NSDateFormatter 时,模式字符串 @"EEE, dd MMM yyyy HH:mm:ss ZZZ" 当我的区域格式设置为“美国”,它工作正常。
当我做同样的事情时——除了我的区域格式设置为德国——它无法解析它。
知道为什么会这样吗?
只是一个猜测:如果区域格式设置为德语,那么天的名称也会被翻译成德语。我会尝试检查是否可以用德语区域格式解析“Die, 15 Jan 2013 11:18:57 -0800”。
dateFormatter 的语言环境将设置为设备的 currentLocale,因此您需要将其设置为与您尝试格式化的日期相同的区域。
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
[dateFormatter setLocale:locale];