使用 DateFormatter return iOS 锁屏日期样式

Using DateFormatter to return iOS lock screen date style

DateFormatter class 似乎有五种日期样式:none、短、中、长和完整。但是,none这些好像是return锁屏日期样式,如下:

Tuesday, 6 June

使用 DateFormatter 的 .long 样式 return 年份:

Tuesday, 6 June 2017

此外,此锁屏日期样式将随当前 localization/regional 设置而变化。

有没有办法 return 日期,la iOS 锁屏日期样式(以及本地化更改)?

您可以使用自定义日期格式"EEEE, d MMMM"

Swift 3

let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEEE, d MMMM"
dateFormatter.string(from: date)

// Friday, 4 August

您可以获得日期组件的任意组合的本地化格式:

let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.setLocalizedDateFormatFromTemplate("EEEE MMMM d")

print(dateFormatter.string(from: date)) // Friday, 4 August

西班牙语:

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "es")
dateFormatter.setLocalizedDateFormatFromTemplate("EEEE MMMM d")

print(dateFormatter.string(from: date)) // viernes, 4 de agosto

请注意如何自动更改组件的顺序并插入正确的分隔符。