如何使用包含友好日期和月份的 DateFormatter 格式化日期
Posted
技术标签:
【中文标题】如何使用包含友好日期和月份的 DateFormatter 格式化日期【英文标题】:How to format date with DateFormatter that includes friendly day and month 【发布时间】:2018-06-07 14:38:21 【问题描述】:如何格式化包含友好日期和月份文字的日期,例如:
“2018 年 6 月 14 日,星期四”
一天可以是:
周日、周一、周二、周三、周四、周五、周六、 星期五
月份可以是:
一月、二月、三月、四月、五月、六月、七月、八月、九月、 十月、十一月、十二月
let formatter = DateFormatter()
formatter.dateFormat = format
return formatter.date(from: "Thursday, June 14, 2018")
格式应该设置成什么?
这样的?
static let format = "DAY, MONTH, dd, YYYY"
甚至可以用 DateFormatter() 做到这一点吗?
【问题讨论】:
【参考方案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 了解所有可能的日期格式模式。
【讨论】:
以上是关于如何使用包含友好日期和月份的 DateFormatter 格式化日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 jQuery UI 日期选择器中获取日期、月份、年份?