首页 > 解决方案 > swift 5 - 字符串到日期的转换结果为零

问题描述

Swift 5.x 有什么变化吗?不知道我在这里做错了什么。

在此处输入图像描述

    extension String {
      var dateValue: Date? {
        let dateAsString = "13:15"
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "HH:mm"
        let date = dateFormatter.date(from: dateAsString) //date is being nil here
        let Date24 = dateFormatter.string(from: date!)
        print("24 hour formatted Date:",Date24)
        return date
       }
    }

标签: iosswiftxcodedateswift5.2

解决方案


将您的代码更改为:

let dateAsString = "13:15"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
dateFormatter.timeZone = TimeZone(abbreviation: "GMT+00:00")//Add this
let date = dateFormatter.date(from: dateAsString)
print(date!)

我的结果是:

2000-01-01 13:15:00 +0000

希望能帮助到你...


推荐阅读