如何使用包含友好日期和月份的DateFormatter格式化日期

时间:2018-06-07 14:38:21

标签: swift nsdateformatter

如何格式化包含友好日期和月份文字的日期,例如:

  

“2018年6月14日星期四”

日可以:

  星期日,星期一,星期二,星期三,星期四,星期五,星期六,   周五

月份可以是:

  

1月,2月,3月,4月,5月,6月,7月,8月,9月,   十月,十一月,十二月

let formatter = DateFormatter()
formatter.dateFormat = format
return formatter.date(from: "Thursday, June 14, 2018")

格式应该设置为什么?

这样的东西?

static let format = "DAY, MONTH, dd, YYYY"

甚至可以使用DateFormatter()吗?

1 个答案:

答案 0 :(得分:1)

使用EEEE表示完整的工作日名称,使用MMMM表示完整的月份名称。但是,由于您要解析使用英语的固定格式化字符串,因此还必须将格式化程序的语言环境设置为en_US_POSIX

let formatter = DateFormatter()
formatter.dateFormat = "EEEE, MMMM d, yyyy"
formatter.locale = Locale(identifier: "en_US_POSIX")
return formatter.date(from: "Thursday, June 14, 2018")

请注意,这会将日期视为用户的本地时区。

有关所有可能的日期格式设置模式,请参阅full specification