如何在使用日期格式化程序完整样式时删除年份。我希望它像这样显示日期,例如:( 10 月 4 日星期四(。不包括年份。
目前我有:
func todaysDate() {
dateLabel.text = DateFormatter.localizedString(from: NSDate() as Date, dateStyle: DateFormatter.Style.full, timeStyle: DateFormatter.Style.none)
}
如果你想要一个正确本地化但自定义的格式,你需要使用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()