zoukankan      html  css  js  c++  java
  • iOS

    前言

    	@interface NSTimeZone : NSObject <NSCopying, NSSecureCoding>
    
    • NSTimeZone 表示时区信息。

    1、NSTimeZone 时区的创建

    	NSTimeZone *zone1 = [[NSTimeZone alloc] init];
    	    
    	// 根据时区名称创建
    	NSTimeZone *zone2 = [[NSTimeZone alloc] initWithName:@"America/Chicago"];
    	NSTimeZone *zone3 = [NSTimeZone timeZoneWithName:@"America/Chicago"];
    	    
    	// 根据时区缩写创建
    	NSTimeZone *zone4 = [NSTimeZone timeZoneWithAbbreviation:@"EST"];
    	    
    	// 根据零时区的秒数偏移量创建
    	NSTimeZone *zone5 = [NSTimeZone timeZoneForSecondsFromGMT:28800];
    

    2、NSTimeZone 时区的设置

    	// 设置默认的时区
    	[NSTimeZone setDefaultTimeZone:[[NSTimeZone alloc] initWithName:@"America/Chicago"]];
    	    
    	NSTimeZone *systemZone = [NSTimeZone systemTimeZone];
    	    
    	// 本地时区可以被修改,而系统时区不能修改。
    	NSTimeZone *localZone = [NSTimeZone localTimeZone];
    	
    	NSTimeZone *defaultZone = [NSTimeZone defaultTimeZone];
    	    
    	// NSCalendar 设置时区
    	/*
    		设置时区,设置为 GMT+8,即北京时间(+8)
    	*/
    	NSCalendar *calendar = [NSCalendar currentCalendar];
    	    
    	[calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CET"]];
    	[calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:+28800]];
    	    
    	// NSDateFormatter 设置时区
    	NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    	    
    	// 设置时区,设置为 GMT
    	[formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    

    3、NSTimeZone 时区的获取

    	// 获取系统时区
    	NSTimeZone *zone1 = [NSTimeZone systemTimeZone];
    	    
    	// 获取本地时区
    	NSTimeZone *zone2 = [NSTimeZone localTimeZone];
    	    
    	// 获取默认时区
    	NSTimeZone *zone3 = [NSTimeZone defaultTimeZone];
    

    4、获取时区的名称

    	// 获取所有已知的时区名称
    	NSArray *zoneNames = [NSTimeZone knownTimeZoneNames];
    	   
    	NSTimeZone *zone = [NSTimeZone localTimeZone];
    	    
    	// 获取指定时区的名称
    	NSString *strZoneName = [zone name];
    

    5、获取时区的缩写

    	// 获取所有已知的时区缩写
    	NSDictionary *zoneAbbreviations = [NSTimeZone abbreviationDictionary];
    	    
    	NSTimeZone *zone = [NSTimeZone localTimeZone];
    	    
    	// 获取指定时区的缩写
    	NSString *zoneAbbreviation1 = [zone abbreviation];
    	
    	// 获取指定时间所在时区名称缩写
    	NSString *zoneAbbreviation2 = [zone abbreviationForDate:[NSDate date]];
    

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

    	NSTimeZone *zone = [NSTimeZone localTimeZone];
    	    
    	// 获取当前时区与零时区的间隔秒数
    	NSInteger seconds1 = [zone secondsFromGMT];
    	
    	// 获取指定时间所在时区与零时区的间隔秒数
    	NSInteger seconds2 = [zone secondsFromGMTForDate:[NSDate date]];
    

    7、时区差值转换

    	// 得到当前时间(世界标准时间 UTC/GMT)
    	NSDate *date = [NSDate date];
    	
    	// 设置系统时区为本地时区
    	NSTimeZone *zone = [NSTimeZone systemTimeZone];
    	
    	// 计算本地时区与 GMT 时区的时间差
    	NSInteger interval = [zone secondsFromGMT];
    	
    	// 在 GMT 时间基础上追加时间差值,得到本地时间
    	date = [date dateByAddingTimeInterval:interval];
    
  • 相关阅读:
    用代码说话:如何正确启动线程
    我的2019——菜鸟互联网找实习和工作记录
    Python网络爬虫——Appuim+夜神模拟器爬取得到APP课程数据
    用代码说话:如何在Java中实现线程
    用代码说话:synchronized关键字和多线程访问同步方法的7种情况
    RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群
    RabbitMQ(三):RabbitMQ与Spring Boot简单整合
    RabbitMQ(二):RabbitMQ高级特性
    RabbitMQ(一):RabbitMQ快速入门
    使用Docker部署Spring Boot项目
  • 原文地址:https://www.cnblogs.com/QianChia/p/5782759.html
Copyright © 2011-2022 走看看