我找不到等效的答案eg
请查看代码。我正在格式化从Web服务下载的传入字符串(项目[9])。
var cal_end_date: Date!
var dateFormatter = DateFormatter()
let tempEndDate = item[9]
print("item[9]", item[9]) // 20190331
print("tempEndDate", tempEndDate) //20190331
dateFormatter.dateFormat = "YYYYMMDD"
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.timeZone = TimeZone.autoupdatingCurrent
cal_end_date = dateFormatter.date(from:tempEndDate)!
print(#function, "cal_end_date:", cal_end_date!) //2019-01-31 05:00:00 +0000
结束日期的月份错误!我已通过在固定日期的操场上运行代码来确认此结果。我在这里做错什么了吗? Swift 5有什么变化吗? 谢谢
答案 0 :(得分:1)
您始终可以使用nsdateformatter.com来检查格式化程序的dateFormat
是否正确(示例检查参考旁边)每个字母/字母代表什么)。
就您而言,您必须对dateFormat
的大小写敏感。天和年用小写字母表示
dateFormatter.dateFormat = "yyyyMMdd"