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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM