1
我尝试使NSDateFormatter
将其语言环境设置为德语,但它失败。在下面的代码中,dateFrom
被成功解析,dateTo
不成功。NSDateFormatter不能解析德语日期
注意:在德语中,它是非洲语言,而不是2月。
NSLocale *germanLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"de_DE"];
NSString *formatString = [NSDateFormatter dateFormatFromTemplate:@"dd. MMMM" options:0
locale:germanLocale];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:formatString];
NSDate *dateFrom = [dateFormat dateFromString:@"20. September"];
NSDate *dateTo = [dateFormat dateFromString:@"20. Februar"];
感谢,这个工作。但为什么在dateFormatFromTemplate函数中设置locale不起作用? – 2013-05-02 14:40:07
,因为formatString只是一个字符串,它不包含区域设置信息。日期模板可以被修改(例如,日期组件的顺序可以根据语言环境而改变),但它仍然只返回一个字符串。请参阅该方法的文档 - 有一个例子显示它如何做以及它做了什么。 – Jeepston 2013-05-02 14:43:57