【发布时间】:2018-09-11 11:41:50
【问题描述】:
我将日期从 "yyyy-mm-dd'T'HH:mm:ss.SSSZ" 转换为 "dd-mm-yyyy" 和我的日期是 "2018-09-11T09:53:25.000+0000" 这是我的代码
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-mm-dd'T'HH:mm:ss.SSSZ"
let dateFromInputString = dateFormatter.date(from: "2018-09-11T09:53:25.000+0000")
dateFormatter.dateFormat = "dd-mm-yyyy"
if(dateFromInputString != nil){
return dateFormatter.string(from: dateFromInputString!)
}
else{
debugPrint("could not convert date")
return "N/A"
}
但我正在转换日期 11-23-2018 像这样
但我的方面是 11-09-2018
【问题讨论】:
-
你住在印度,对吧?时区在哪里 5:30 不同没有?你得到“23”,因为它是“53-30 分钟”。为什么?因为您在月份中使用了
mm而不是MM(顺便说一下,在第一种格式和第二种格式中使用了两次)。 -
附注且不相关,但使用
if let而不是!= nil后跟强制展开:if let date = dateFromInputString { return dateFormatter.string(from: date)} -
@Larme 感谢您的建议。
标签: ios iphone swift xcode dateformatter