【发布时间】:2019-09-25 06:56:53
【问题描述】:
我有一个函数可以将字符串转换为日期格式。此功能在 iOS 12 上按预期工作,但在 iOS 13 上。我收到此错误:
“线程 1:致命错误:在展开可选值时意外发现 nil”
这是我的代码:
func ConvertDateAndTimeFormat2() {
let timeDate = "2019-09-24 15:00:00 +0000"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss +zzzz"
dateFormatter.timeZone = TimeZone(abbreviation: "GMT+3:00")
var dateObj:Date!
dateObj = dateFormatter.date(from: timeDate)
dateFormatter.dateFormat = "EEEE, MMM d, yyyy"
dateFormatter.timeZone = TimeZone(abbreviation: "GMT+3:00")
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss +zzzz"
timeFormatter.timeZone = TimeZone(abbreviation: "GMT+3:00")
var timeObj:Date!
timeObj = timeFormatter.date(from: timeDate)
timeFormatter.dateFormat = "HH:mm"
timeFormatter.timeZone = TimeZone(abbreviation: "GMT+3:00")
let timef = "\(timeFormatter.string(from: timeObj!))"
let Date = "\(dateFormatter.string(from: dateObj!))"
}
【问题讨论】:
-
但是你到底是从哪里得到错误的?在
dateObj = dateFormatter.date(from: timeDate)? -
变量名应该以小写字母开头,并且不能与内置类型(日期)相同。这真的是失败的代码吗,对于只将结果分配给局部变量的 void 函数有点毫无意义?
标签: ios swift nsdateformatter