iOS 前言 1、NSTimeZone 时区的创建 2、NSTimeZone 时区的设置 3、NSTimeZone 时区的获取 4、获取时区的名称 5、获取时区的缩写 6、获取与零时区的间隔秒数 7、时区差值转换

	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))