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

https://www.jianshu.com/p/6a972dfd5906

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

 

1. 当前的时间戳字符串

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)"

    }

2.时间戳转换时间格式

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)

    }

3.时间戳转换为Date类型

static func getDateFromTimeStamp(timeStamp:String) ->Date {

        let interval:TimeInterval = TimeInterval.init(timeStamp)!

        return Date(timeIntervalSince1970: interval)

    }

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

static func getDateFromTime(time:String) ->Date{

        let dateformatter = DateFormatter()

        //自定义日期格式

        dateformatter.dateFormat="yyyy-MM-dd HH:mm:ss"

        return dateformatter.date(from: time)!

    }

关于时间差的计算参考

 

posted @ 2019-09-18 14:29  sundayswift  阅读(5151)  评论(0编辑  收藏  举报