DateFormatter 的 LocalizedString 与 iOS 默认日历应用不同

LocalizedString of DateFormatter is different from iOS default calendar app

当我尝试从 DateFormatter 获取 localizedString 时,输出与 iOS 默认日历应用程序显示的格式不同。

DateFormatter 用于美国语言环境显示(对于 dateStyle full)

Tuesday, August 15, 2017

其中 iOS 默认日历应用显示

Tue, Aug 15, 2017

DateFormatter 对于 KR Locale 显示(对于 dateStyle full)

2017년 8월 15일 화요일

其中 iOS 默认日历应用显示

2017년 8월 15일 (화)

如何获取 iOS 默认日历应用程序中显示的 localizedString?我应该为所有语言环境创建自定义格式吗?

None 标准样式显示缩写的工作日和月份名称。

一种选择是使用 setLocalizedDateFormatFromTemplate.

let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("EEEMMMddyyyy")
let string = df.string(from: Date())

尝试以下操作:

let formatter = DateFormatter()
formatter.setLocalizedDateFormatFromTemplate("EEE, MMM dd, yyyy")
print(formatter.string(from: Date()))