美文网首页
时间格式和时区

时间格式和时区

作者: Switch_A | 来源:发表于2017-10-18 12:17 被阅读0次

/*

G:        公元时代,例如AD公元

yy:    年的后2位

yyyy:    完整年

MM:    月,显示为1-12,带前置0

MMM:    月,显示为英文月份简写,如 Jan

MMMM:    月,显示为英文月份全称,如 Janualy

dd:    日,2位数表示,如02

d:        日,1-2位显示,如2,无前置0

EEE:    简写星期几,如Sun

EEEE:    全写星期几,如Sunday

aa:    上下午,AM/PM

H:        时,24小时制,0-23

HH:    时,24小时制,带前置0

h:        时,12小时制,无前置0

hh:    时,12小时制,带前置0

m:        分,1-2位

mm:    分,2位,带前置0

s:        秒,1-2位

ss:    秒,2位,带前置0

S:        毫秒

Z:        GMT(时区)

//任何NSTimeZone对象所代表的时区都是相对于GMT的, iOS中的时间类NSDate所获取到的时间, 都是相对于GMT的.

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];

*/

相关文章

  • 时间格式和时区

    /* G: 公元时代,例如AD公元 yy: 年的后2位 yyyy: 完整年 MM: 月,显示为...

  • NSDate

    创建时间: 时间增减: 时间戳: 日期比较: 设置日期格式: 获取所有时区名称: 设置时区: 将时区配置给date...

  • iOS中的NSDate

    获取当前的时间 在当前时间上再加5秒 获取当前所处的时区 获取当前时区和指定时间的时间差 时间格式化 yyyy 年...

  • NSDate

    //初始化格式化时间 并设置时区 时间和NSString之间的转化 NSDateFormatter *format...

  • Mysql 时区修正

    查看Mysql 当前的时区 待导入的数据时间格式 修正时区并创建新表

  • iOS 获取当前时间戳

    NSDateFormatter 代表时间格式,通过这个类可以设置相关的时间格式,当地时区时间等。 例如: N...

  • objective-c NSDate和NSCalendar

    创建时间对象,以当前时间为标准 在该时间基础上加上10s 获取当前时区 获取当前时区和东八区的时间差 时间格式化 ...

  • Android修改默认时区和时间格式

    1 时间格式 Android默认时间是12小时格式,要改成24小时格式,首先需要在 资源文件中增加 然后找到这个文...

  • Swift中Sat Jul 30 21:05:03 +0800

    带有时区的GTM时间格式,+0800时北京所在的时区 Sat Jul 30 21:05:03 +0800 2016...

  • Swift中Sat Jul 30 21:05:03 +0800

    带有时区的GTM时间格式,+0800时北京所在的时区 Sat Jul 30 21:05:03 +0800 2016...

网友评论

      本文标题:时间格式和时区

      本文链接:https://www.haomeiwen.com/subject/vpakyttx.html