似乎NSDateFormatteriOS11 中的默认行为已更改.此代码用于根据iOS11之前当前选择的iPhone/iPad语言工作和生成日期格式化程序:
_dateFormatterInstance = [[NSDateFormatter alloc] init];
_dateFormatterInstance.timeZone = [NSTimeZone systemTimeZone];
Run Code Online (Sandbox Code Playgroud)
看起来在iOS11中我们必须为它明确指定locale属性:
_dateFormatterInstance = [[NSDateFormatter alloc] init];
_dateFormatterInstance.timeZone = [NSTimeZone systemTimeZone];
_dateFormatterInstance.locale = [NSLocale localeWithLocaleIdentifier:[[NSLocale preferredLanguages] firstObject]];
Run Code Online (Sandbox Code Playgroud)
有人可以证实我的发现吗?