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

时间戳是指格林威治时间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)!

    }

关于时间差的计算参考

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