如何将日期正确转换为NSDate? (在展开Optional值时意外发现nil)

时间:2019-05-16 23:49:16

标签: swift nsdateformatter

我要从远程配置(字符串)中获取比赛结束日期,并尝试将其强制转换为NSDate,以便在计时器中使用。

file.delete()

如您在图像中看到的,字符串“ 2019-05-29 23:59:59”肯定在变量“ contestEndDateFromRemoteConfig”中(因此,这不是远程配置的问题);但是,我显然做错了,因为它引发错误“在展开可选值时意外发现nil。”

Xcode Screenshot

我相信dateFormat是正确的并且匹配字符串(这是类似的stackoverflow问题的建议),因此也不应该成为问题。

有人能看到为什么会引发错误吗?

提前感谢任何方向!

1 个答案:

答案 0 :(得分:-1)

尝试一下:

var date = "2019-05-29 23:59:59"

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00")
let formattedDate = dateFormatter.date(from: date)

if let formattedDate = formattedDate {
    print(formattedDate)
}