Date、时间戳、以及日期格式的转换(一)

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数(一般情况下为10位数字符串)

当前的时间戳字符串

static func getCurrentTimeStamp() ->String{
         let nowDate =Date.init()
        //10位数时间戳
         let interval = Int(nowDate.timeIntervalSince1970)
        //13位数时间戳 (13位数的情况比较少见)
        // let interval = CLongLong(round(nowDate.timeIntervalSince1970*1000))
        return "\(interval)"
    }

时间戳转换时间格式

static func getDateFormatString(timeStamp:String) ->String{       
         let  interval:TimeInterval=TimeInterval.init(timeStamp)!
         let date = Date(timeIntervalSince1970: interval)
         let dateformatter =DateFormatter()
         //自定义日期格式
        dateformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
        return dateformatter.string(from: dateasDate)
    }

时间戳转换为Date类型

static func getDateFromTimeStamp(timeStamp:String) ->Date {
        let interval:TimeInterval = TimeInterval.init(timeStamp)!
        return Date(timeIntervalSince1970: interval)
    }

时间格式转换为Date类型 (传入的字符串要与下方的格式一致!!!)

static func getDateFromTime(time:String) ->Date{
        let dateformatter = DateFormatter()
        //自定义日期格式
        dateformatter.dateFormat="yyyy-MM-dd HH:mm:ss"
        return dateformatter.date(from: time)!
    }

作者:朴子hp
链接:https://www.jianshu.com/p/6a972dfd5906
来源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

计算时间与当前时间的时间差

let interval = 当前时间.timeIntervalSinceDate(获取时间)

你可能感兴趣的:(Date、时间戳、以及日期格式的转换(一))