我有以下代码:
NSDateFormatter * df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setFormatterBehavior:NSDateFormatterBehaviorDefault];
[df dateFromString:@"2011-04-12 10:00:00"];
它总是在其中生成一个空日期。这是为什么?
最佳答案
如果设备设置为 AM/PM 时间并且请求的字符串格式设置为 @"yyyy-MM-dd HH:mm:ss"
dateFromString
将返回无
。
如果您将语言环境设置为 @"en_US"
,转换将返回正确的日期。
dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[dateFormat setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:@"2013-02-14 09:30:00"];
关于iphone - dateFromString 始终使用 dateformatter 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638416/