Swift Date时区问题处理
2021-12-13 本文已影响0人
一页清风
//获取当前系统的时间
static func getCurrentSystemDate() -> Date{
let date = Date() // 获得时间对象
let zone = NSTimeZone.system // 获得系统的时区
let time = zone.secondsFromGMT(for: date)// 以秒为单位返回当前时间与系统格林尼治时间的差
return date.addingTimeInterval(TimeInterval(time))// 然后把差的时间加上,就是当前系统准确的时间
}
//根据字符串获取当前时区的时间
static func date(_ date: String?, dateFormat: String = "yyyy-MM-dd") -> Date? {
guard let date = date else {
return nil
}
let dateformatter = DateFormatter()
dateformatter.timeZone = TimeZone.init(secondsFromGMT: 0)
dateformatter.dateFormat = dateFormat
return dateformatter.date(from: date)
}
调用:
print(Date.getCurrectSystemDate())
print(Date.date("2021-12-12"))
The Result:
image.png