在代码中,我尝试更改旧格式的新日期格式但无法执行此操作会崩溃并显示“致命错误:在展开”可选值时意外发现nil“但我找不到请帮忙找原因。
在这里,我给出了我尝试过的代码..
let dateString:String = (historyRequestArray[indexPath.row] as AnyObject).value(forKey: "date") as! String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MMM-yyyy"
let finalDateStr:String = dateFormatter.string(from: dateObj!)
dateString有值.. dateString是:2017-08-02 14:09:22
现在的格式为:“yyyy-MM-dd hh:mm:ss”
但我想转换为:“dd-MMM-yyyy”
请帮我解决问题。 谢谢大家。
答案 0 :(得分:3)
我认为您的日期格式化程序是错误的,因此会出现问题。
let dateString:String = (historyRequestArray[indexPath.row] as AnyObject).value(forKey: "date") as! String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" //change formatter like this.
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MMM-yyyy"
let finalDateStr:String = dateFormatter.string(from: dateObj!)
答案 1 :(得分:2)
将日期格式更改为“yyyy-MM-dd HH:mm:ss”
let dateString:String = (historyRequestArray[indexPath.row] as AnyObject).value(forKey: "date") as! String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MMM-yyyy"
let finalDateStr:String = dateFormatter.string(from: dateObj!)
答案 2 :(得分:1)
下面粘贴了一些日期格式,您可以在其中更改" hh"到" HH"用了几个小时。
因此,如果您将代码更改为以下内容,则日期格式化程序将起作用。
let dateString:String = (historyRequestArray[indexPath.row] as AnyObject).value(forKey: "date") as! String
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateObj = dateFormatter.date(from: dateString)
dateFormatter.dateFormat = "dd-MMM-yyyy"
let finalDateStr:String = dateFormatter.string(from: dateObj!)