本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《 阿里云开发者社区用户服务协议 》和 《 阿里云开发者社区知识产权保护指引 》。如果您发现本社区中有涉嫌抄袭的内容,填写 侵权投诉表单 进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。 let zone2:NSTimeZone? = NSTimeZone(abbreviation: "EST") // 根据零时区的秒数偏移量创建,+28800 为 GMT+8,即北京时间(+8) let zone3:NSTimeZone = NSTimeZone(forSecondsFromGMT: +28800)

2、NSTimeZone 时区的设置

    // 设置默认的时区
    NSTimeZone.setDefaultTimeZone(NSTimeZone(name: "America/Chicago")!)
    let defaultZone = NSTimeZone.defaultTimeZone()
    let systemZone = NSTimeZone.systemTimeZone()
    // 本地时区可以被修改,而系统时区不能修改
    let localZone = NSTimeZone.localTimeZone()
    // NSCalendar 设置时区
        let calendar:NSCalendar = NSCalendar.currentCalendar()
        // 设置时区,设置为 GMT+8,即北京时间(+8)
        calendar.timeZone = NSTimeZone(abbreviation: "EST")!
        // 设置时区,设置为 GMT+8,即北京时间(+8)
        calendar.timeZone = NSTimeZone(forSecondsFromGMT: +28800)
    // NSDateFormatter 设置时区
        let formatter:NSDateFormatter = NSDateFormatter()
        formatter.timeZone = NSTimeZone(forSecondsFromGMT: +28800)

3、NSTimeZone 时区的获取

    // 获取系统时区
    let systemZone = NSTimeZone.systemTimeZone()
    // 获取本地时区
    let localZone = NSTimeZone.localTimeZone()
    // 获取默认时区
    let defaultZone = NSTimeZone.defaultTimeZone()

4、获取时区的名称

    // 获取所有已知的时区名称
    let zoneNames = NSTimeZone.knownTimeZoneNames()
    // 获取指定时区的名称
    let localZoneName = NSTimeZone.localTimeZone().name

5、获取时区的缩写

    // 获取所有已知的时区缩写
    let zoneAbbreviations = NSTimeZone.abbreviationDictionary()
    // 获取指定时区的缩写
    let localZoneAbbreviation = NSTimeZone.localTimeZone().abbreviation
    // 获取指定时间所在时区名称缩写
    let dateLocalAbbreviation = NSTimeZone.localTimeZone().abbreviationForDate(NSDate())

6、获取与零时区的间隔秒数

    let zone = NSTimeZone.localTimeZone()
    // 获取当前时区与零时区的间隔秒数
    let seconds1 = zone.secondsFromGMT
    // 获取指定时间所在时区与零时区的间隔秒数
    let seconds2 = zone.secondsFromGMTForDate(NSDate())

7、时区差值转换

    // 得到当前时间(世界标准时间 UTC/GMT)
    var date:NSDate = NSDate()
    // 设置系统时区为本地时区
    let zone:NSTimeZone = NSTimeZone.systemTimeZone()
    // 计算本地时区与 GMT 时区的时间差
    let second:Int = zone.secondsFromGMT
    // 在 GMT 时间基础上追加时间差值,得到本地时间
    date = date.dateByAddingTimeInterval(NSTimeInterval(second))