如何在Swift3中将unix epoche时间转换为Date

时间:2016-10-04 21:44:44

标签: date type-conversion swift3 epoch

我想使用Swift 3将从数据库检索到的epoche time(number)转换为Date对象。

我有以下代码

// e.g. 1475616846.424875
user.birthday.timeIntervalSince1970

如何在Date对象中转换它?

2 个答案:

答案 0 :(得分:3)

检查reference of Date

init(timeIntervalSince1970: TimeInterval) 
     

返回相对于1970年1月1日00:00:00 UTC初始化的Date,给定的秒数。

只需使用Date的初始化程序:

let epochTime: TimeInterval = 1475616846.424875
let date = Date(timeIntervalSince1970: epochTime)
print(date) //->2016-10-04 21:34:06 +0000

答案 1 :(得分:1)

SWIFT 3

此代码解决 swift 3的问题。

func epochToLocal(epochTime:Double)->String{

    let timeResult:Double = epochTime
    let date = NSDate(timeIntervalSince1970: timeResult)
    let dateFormatter = DateFormatter()
    dateFormatter.timeStyle = DateFormatter.Style.medium //Set time style
    dateFormatter.dateStyle = DateFormatter.Style.medium //Set date style
    let timeZone = TimeZone.autoupdatingCurrent.identifier as String
    dateFormatter.timeZone = TimeZone(identifier: timeZone)
    let localDate = dateFormatter.string(from: date as Date)
    return "\(localDate)"

}