我只是试图打开一个日期对象,当用户在他们的iPhone上启用“24小时时间”到“12小时时间”日期对象。转换24小时时间日期对象到12小时时间日期对象
我已经试过这在关于这个问题以前线程说,但我没有运气:
初始finalDate对象:日期2017年8月30日22:00:00 UTC
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier:"en_US")
dateFormatter.dateFormat = "MM/dd/yyyy h:mm a"
let dateString = dateFormatter.string(from: finalDate)
let theFinalConvertedDate = dateFormatter.date(from: dateString)
我最终什么:
theFinalConvertedDate Date? 2017-08-30 22:00:00 UTC
我不知道为什么会这样合作nsidering是dateString打印了出来:
"08/30/2017 5:00 PM"
所以它最初将其转换为预期的输出,但theFinalConvertedDate结束是日期? 2017-08-30 22:00:00 UTC
正如其他人所说,不需要'日期'转换,因为'日期'对象没有“24小时”和“12小时”格式。这完全是你想要'DateFormatter'输出字符串格式化的问题。但是这个'theFinalConvertedDate'字符串的目的是什么?它是用于在用户界面中呈现还是用于发送到Web服务或某些本地永久存储?这个问题的正确答案取决于这个字符串的最终用法是什么。 – Rob