如何在不更改时间的情况下将字符串转换为日期

时间:2020-02-01 05:22:30

标签: ios swift datetime

从此字符串开始:“ 2020-01-25 20:11:00”

这是我的代码,在交谈后,它是返回日期,时间已更改:

let scheduleDate : String = "2020-01-25 20:11:00"
let dateFromat : DateFormatter = DateFormatter()
dateFromat.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateFromString = dateFromat.date(from: scheduleDate)
print(dateFromString as Any) // 2020-01-25 14:41:00 +0000

我得到的是 2020-01-25 14:41:00 +0000 ,而不是 2020-01-25 20:11:00 。为什么对话字符串日期之后时间改变了。我的代码中缺少什么?

1 个答案:

答案 0 :(得分:2)

只需将时区添加到dateFormatter

dateFromat.timeZone = TimeZone.init(secondsFromGMT: 0)

更新的代码:

let scheduleDate : String = "2020-01-25 20:11:00"
let dateFromat : DateFormatter = DateFormatter()
dateFromat.dateFormat = "yyyy-MM-dd HH:mm:ss"
dateFromat.timeZone = TimeZone.init(secondsFromGMT: 0)
let dateFromString = dateFromat.date(from: scheduleDate)
print(dateFromString as Any)