我是靠谱客的博主 寂寞皮皮虾,最近开发中收集的这篇文章主要介绍iOS开发之时区的获取,设置,创建前言1、NSTimeZone 时区的创建2、NSTimeZone 时区的设置3、NSTimeZone 时区的获取4、获取时区的名称5、获取时区的缩写6、获取与零时区的间隔秒数7、时区差值转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

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

1、NSTimeZone 时区的创建

 
  1. NSTimeZone *zone1 = [[NSTimeZone alloc] init];

  2. // 根据时区名称创建

  3. NSTimeZone *zone2 = [[NSTimeZone alloc] initWithName:@"America/Chicago"];

  4. NSTimeZone *zone3 = [NSTimeZone timeZoneWithName:@"America/Chicago"];

  5. // 根据时区缩写创建

  6. NSTimeZone *zone4 = [NSTimeZone timeZoneWithAbbreviation:@"EST"];

  7. // 根据零时区的秒数偏移量创建

  8. NSTimeZone *zone5 = [NSTimeZone timeZoneForSecondsFromGMT:28800];

2、NSTimeZone 时区的设置

 
  1. // 设置默认的时区

  2. [NSTimeZone setDefaultTimeZone:[[NSTimeZone alloc] initWithName:@"America/Chicago"]];

  3. NSTimeZone *systemZone = [NSTimeZone systemTimeZone];

  4. // 本地时区可以被修改,而系统时区不能修改。

  5. NSTimeZone *localZone = [NSTimeZone localTimeZone];

  6. NSTimeZone *defaultZone = [NSTimeZone defaultTimeZone];

  7. // NSCalendar 设置时区

  8. /*

  9. 设置时区,设置为 GMT+8,即北京时间(+8)

  10. */

  11. NSCalendar *calendar = [NSCalendar currentCalendar];

  12. [calendar setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"CET"]];

  13. [calendar setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:+28800]];

  14. // NSDateFormatter 设置时区

  15. NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

  16. // 设置时区,设置为 GMT

  17. [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];

3、NSTimeZone 时区的获取

 
  1. // 获取系统时区

  2. NSTimeZone *zone1 = [NSTimeZone systemTimeZone];

  3. // 获取本地时区

  4. NSTimeZone *zone2 = [NSTimeZone localTimeZone];

  5. // 获取默认时区

  6. NSTimeZone *zone3 = [NSTimeZone defaultTimeZone];

4、获取时区的名称

 
  1. // 获取所有已知的时区名称

  2. NSArray *zoneNames = [NSTimeZone knownTimeZoneNames];

  3. NSTimeZone *zone = [NSTimeZone localTimeZone];

  4. // 获取指定时区的名称

  5. NSString *strZoneName = [zone name];

5、获取时区的缩写

 
  1. // 获取所有已知的时区缩写

  2. NSDictionary *zoneAbbreviations = [NSTimeZone abbreviationDictionary];

  3. NSTimeZone *zone = [NSTimeZone localTimeZone];

  4. // 获取指定时区的缩写

  5. NSString *zoneAbbreviation1 = [zone abbreviation];

  6. // 获取指定时间所在时区名称缩写

  7. NSString *zoneAbbreviation2 = [zone abbreviationForDate:[NSDate date]];

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

 
  1. NSTimeZone *zone = [NSTimeZone localTimeZone];

  2. // 获取当前时区与零时区的间隔秒数

  3. NSInteger seconds1 = [zone secondsFromGMT];

  4. // 获取指定时间所在时区与零时区的间隔秒数

  5. NSInteger seconds2 = [zone secondsFromGMTForDate:[NSDate date]];

7、时区差值转换

 
  1. // 得到当前时间(世界标准时间 UTC/GMT)

  2. NSDate *date = [NSDate date];

  3. // 设置系统时区为本地时区

  4. NSTimeZone *zone = [NSTimeZone systemTimeZone];

  5. // 计算本地时区与 GMT 时区的时间差

  6. NSInteger interval = [zone secondsFromGMT];

  7. // 在 GMT 时间基础上追加时间差值,得到本地时间

  8. date = [date dateByAddingTimeInterval:interval];

最后

以上就是寂寞皮皮虾为你收集整理的iOS开发之时区的获取,设置,创建前言1、NSTimeZone 时区的创建2、NSTimeZone 时区的设置3、NSTimeZone 时区的获取4、获取时区的名称5、获取时区的缩写6、获取与零时区的间隔秒数7、时区差值转换的全部内容,希望文章能够帮你解决iOS开发之时区的获取,设置,创建前言1、NSTimeZone 时区的创建2、NSTimeZone 时区的设置3、NSTimeZone 时区的获取4、获取时区的名称5、获取时区的缩写6、获取与零时区的间隔秒数7、时区差值转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部