知道有很多类似的问题,我需要更加专心。但我无法理解我的情况会发生什么。
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"hh:mm:a MM/dd/yyyy"];
NSDate *date = [dateFormatter dateFromString:@"09:21:am 07/22/2014"];
date
是零。需要帮助。感谢。
答案 0 :(得分:1)
要使用12小时格式进行解析,似乎NSDateFormatter
需要任何12小时的语言环境。
我不知道这是不是一种错误。
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setLocale:[NSLocale localeWithLocaleIdentifier:@"es_US"]];
[dateFormatter setDateFormat:@"hh:mm:a MM/dd/yyyy"];
NSDate *date = [dateFormatter dateFromString:@"09:21:am 07/22/2014"];
要查找12小时格式的区域设置,此代码有助于:
NSArray *locales = [NSLocale availableLocaleIdentifiers];
for(NSString *locale in locales) {
NSString *fmt = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale localeWithLocaleIdentifier:locale]];
NSLog(@"%10s:%@", [locale UTF8String], fmt);
}
请参阅this answer