如何在 Swift 4 中显示日期而不包括年份?



如何在使用日期格式化程序完整样式时删除年份。我希望它像这样显示日期,例如:( 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()

最新更新