iOS 获取当前时间

2020-04-15  本文已影响0人  Eyes_cc

GMT:格林威治标准时间
UTC:全球标准时间

let time = Date() // 获取的是格林威治时间(GMT)标准时间
print(time)       // 2020-04-15 07:16:12 +0000,打印出的时间是GTM时间,比北京时间早了8个小时
let zone = TimeZone.current
print(zone)  #// Asia/Shanghai (current)
let interval = zone.secondsFromGMT()
print(interval)  // 28800
// 当前中国时区和格林威治时区的时间差 8小时 = 28800秒
let now = Date().addingTimeInterval(TimeInterval(28800))
print(now)  // 2020-04-15 15:16:12 +0000
func currentTime() -> String {
    let dateformatter = DateFormatter()
    dateformatter.dateFormat = "YYYY-MM-dd HH:mm:ss"// 自定义时间格式
    // GMT时间 转字符串,直接是系统当前时间
    return dateformatter.string(from: Date())
}
// 2020-04-15 15:16:12
let timestamp = Date().timeIntervalSince1970 // GMT时间转时间戳 没有时差,直接是系统当前时间戳
func timeStampToTime(_ timeStamp: TimeInterval) -> String {
    let date = NSDate(timeIntervalSince1970: timeStamp)
    let dateformatter = DateFormatter()
    dateformatter.dateFormat = "YYYY-MM-dd HH:mm:ss"// 自定义时间格式
    return dateformatter.string(from: date)
}
func stringToTimeStamp(_ time: String) -> TimeInterval {
    let dateformatter = DateFormatter()
    dateformatter.dateFormat = "YYYY-MM-dd HH:mm:ss"// 自定义时间格式
    let date = dateformatter.date(from: time)
    return (date?.timeIntervalSince1970)!
}
上一篇 下一篇

猜你喜欢

热点阅读