iOS - Swift NSTimeZone 时区

前言

    public class NSTimeZone : NSObject, NSCopying, NSSecureCoding 
  • NSTimeZone 表示时区信息。

1、NSTimeZone 时区的创建

    // 根据时区名称创建
    let zone1:NSTimeZone? = NSTimeZone(name: "America/Chicago")
    
    // 根据时区缩写创建
    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))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值