Swift 字符串中的日期总是 returns 无
Swift date from string always returns nil
我有一个日期,它是一个字符串,如下所示:
Apr 25 2018 12:00AM
我想做的是将此日期格式转换为 yyyy-MM-dd,然后将其转换回字符串,我尝试了以下操作:
let formatter = DateFormatter()
formatter.dateFormat = "M dd yyyy h:mm A"
let SLAIssuedFinalGradingDate = formatter.date(from: tableDic["SLAIssuedFinalGradingDate"] as! String)
formatter.dateFormat = "yyyy-MM-dd"
let SLAIssuedFinalGradingDateString = formatter.string(from: SLAIssuedFinalGradingDate!)
但是SLAIssuedFinalGradingDate
总是returns没有,我做错了什么?
您的 dateFormat
字符串不正确。如果 dateFormat 字符串与提供的字符串不匹配,DateFormatter
将始终 return nil。
"MMM dd yyyy hh:mma"
这就是您想要的。我建议您查看 DateFormatter cheat sheet 并熟悉这些符号。
你的 dateFormat
对 Apr 25 2018 12:00AM
不正确。您正在使用 M dd yyyy h:mm A
,但格式为 MMM dd yyyy hh:mma
.
Use this link to check date format。
代码应该是:
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "MMM dd yyyy hh:mma"
let SLAIssuedFinalGradingDate = formatter.date(from: tableDic["SLAIssuedFinalGradingDate"] as! String)
formatter.dateFormat = "yyyy-MM-dd"
let SLAIssuedFinalGradingDateString = formatter.string(from: SLAIssuedFinalGradingDate!)
我有一个日期,它是一个字符串,如下所示:
Apr 25 2018 12:00AM
我想做的是将此日期格式转换为 yyyy-MM-dd,然后将其转换回字符串,我尝试了以下操作:
let formatter = DateFormatter()
formatter.dateFormat = "M dd yyyy h:mm A"
let SLAIssuedFinalGradingDate = formatter.date(from: tableDic["SLAIssuedFinalGradingDate"] as! String)
formatter.dateFormat = "yyyy-MM-dd"
let SLAIssuedFinalGradingDateString = formatter.string(from: SLAIssuedFinalGradingDate!)
但是SLAIssuedFinalGradingDate
总是returns没有,我做错了什么?
您的 dateFormat
字符串不正确。如果 dateFormat 字符串与提供的字符串不匹配,DateFormatter
将始终 return nil。
"MMM dd yyyy hh:mma"
这就是您想要的。我建议您查看 DateFormatter cheat sheet 并熟悉这些符号。
你的 dateFormat
对 Apr 25 2018 12:00AM
不正确。您正在使用 M dd yyyy h:mm A
,但格式为 MMM dd yyyy hh:mma
.
Use this link to check date format。
代码应该是:
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "MMM dd yyyy hh:mma"
let SLAIssuedFinalGradingDate = formatter.date(from: tableDic["SLAIssuedFinalGradingDate"] as! String)
formatter.dateFormat = "yyyy-MM-dd"
let SLAIssuedFinalGradingDateString = formatter.string(from: SLAIssuedFinalGradingDate!)