解析时遇到 NSDateFormatter 问题
Have troubles with NSDateFormatter while parsing
这是日期示例:2015 年 5 月 13 日,星期三 16:10:00 CEST
我的格式化程序不工作
@"EEE, dd MMM yyyy HH:mm:ss vvvv"
我应该改变什么?
UPD:完整代码
NSString* formattedDayWithString(NSString* date){
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [NSLocale currentLocale];
NSString *localeId = [locale displayNameForKey:NSLocaleIdentifier
value:[locale localeIdentifier]];
SLog(@"%@ date:%@", localeId, date);
[inputFormatter setLocale: locale];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss vvvv"];
NSDate *formattedDate = [inputFormatter dateFromString: date];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
[outputFormatter setDateFormat:@"d'.' MMMM yyyy"];
NSString* dateStr = [[NSString alloc] initWithFormat: @"%@",[outputFormatter stringFromDate:formattedDate]];
return dateStr;
}
"CEST"是一个"short specific non-location format"和对应的
日期字段符号是 "z",而不是 "v":
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
此外,您可能必须将日期格式化程序语言环境明确设置为 "en_GB"
如 Nsdateformatter + Timezone issue.
中所述
这是日期示例:2015 年 5 月 13 日,星期三 16:10:00 CEST
我的格式化程序不工作
@"EEE, dd MMM yyyy HH:mm:ss vvvv"
我应该改变什么?
UPD:完整代码
NSString* formattedDayWithString(NSString* date){
NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [NSLocale currentLocale];
NSString *localeId = [locale displayNameForKey:NSLocaleIdentifier
value:[locale localeIdentifier]];
SLog(@"%@ date:%@", localeId, date);
[inputFormatter setLocale: locale];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss vvvv"];
NSDate *formattedDate = [inputFormatter dateFromString: date];
NSDateFormatter *outputFormatter = [[NSDateFormatter alloc]init];
[outputFormatter setDateFormat:@"d'.' MMMM yyyy"];
NSString* dateStr = [[NSString alloc] initWithFormat: @"%@",[outputFormatter stringFromDate:formattedDate]];
return dateStr;
}
"CEST"是一个"short specific non-location format"和对应的 日期字段符号是 "z",而不是 "v":
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];
此外,您可能必须将日期格式化程序语言环境明确设置为 "en_GB" 如 Nsdateformatter + Timezone issue.
中所述