使用DateFormatter完整样式时,如何删除年份。我希望它显示这样的日期,例如:(10月4日,星期四)。不包括年份。
目前,我有:
func todaysDate() {
dateLabel.text = DateFormatter.localizedString(from: NSDate() as Date, dateStyle: DateFormatter.Style.full, timeStyle: DateFormatter.Style.none)
}
答案 0 :(得分:0)
如果要使用正确本地化但自定义的格式,则需要使用setLocalizedDateFormatFromTemplate
。
func todaysDate() {
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("EEEEMMMMd")
dateLabel.text = df.string(from: Date())
}
EEEE
给出了完整的工作日名称。 MMMM
给出了完整的月份名称。 d
给出一个月中的某天。
根据用户的语言环境,结果格式将以正确的顺序添加适当的标点符号。
还要注意,没有理由使用NSDate
。
作为补充,我将重构您的代码,使其更像这样:
func todaysDate() -> String {
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("EEEEMMMMd")
return df.string(from: Date())
}
然后是您当前的呼叫位置:
todaysDate()
我会做的:
dateLabel.text = todaysDate()