当我到达下面的df.date()行时,使用此格式的日期时应用程序崩溃2016-12-27 14:40:46 +0000:
2016-12-27 14:40:46 +0000
致命错误:解开Optional值时意外发现nil
我也看到了这一点:
错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0)
我有可以采用这种格式的字符串
12/27/2016
但有时采用这种格式
这是在上述格式下崩溃的代码段:
let mydate = "12/27/2016" //this works but not the longer format let df = DateFormatter() df.dateFormat = "MM/dd/yyyy" //this is the format I want both dates to be in newDate:Date = df.date(from: mydate)
如何使用基本一个功能处理两种格式?
检查日期字符串是否包含斜杠,并相应地设置日期格式:
if mydate.contains("/") { df.dateFormat = "MM/dd/yyyy" } else { df.dateFormat = "yyyy-MM-dd HH:mm:ss Z" }