DateFormatter的LocalizedString与iOS默认日历应用程序不同
问题描述:
当我尝试从DateFormatter
获取localizedString
时,输出与iOS默认日历应用程序显示的格式不同。DateFormatter的LocalizedString与iOS默认日历应用程序不同
DateFormatter
美国区域设置显示(用于DATESTYLE全)
周二,2017年
8月15日,在iOS的默认日历应用显示
星期二,2017年8月15日
DateFormatter
为KR区域设置示出了(用于DATESTYLE满)
2017년8월15일화요일
其中Ios默认日历应用显示
2017년8월15일(화)
如何获取iOS默认日历应用中显示的localizedString
?我应该为所有语言环境创建自定义格式吗?
答
没有任何标准样式显示缩短的工作日和月份名称。
一个选项是使用setLocalizedDateFormatFromTemplate
。
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("EEE MMM dd yyyy")
let string = df.string(from: Date())
答
尝试以下操作:
let formatter = DateFormatter()
formatter.setLocalizedDateFormatFromTemplate("EEE, MMM dd, yyyy")
print(formatter.string(from: Date()))
+4
1.这只是我答案的副本。 2.不需要在模板中添加标点符号。它被忽略。 – rmaddy
尝试'.medium',而不是'.full'的日期样式。 – rmaddy
但媒体不会显示一天的一周。 –