GMT:格林威治标准时间
UTC:全球标准时间
- 获取当前GMT时间(英国)
let time = Date() // 获取的是格林威治时间(GMT)标准时间
print(time) // 2020-04-15 07:16:12 +0000,打印出的时间是GTM时间,比北京时间早了8个小时
- 获取当前时区(中国)
let zone = TimeZone.current
print(zone) #// Asia/Shanghai (current)
- 获取当前时区(中国)和GMT时区(英国)的间隔秒数
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)!
}
网友评论