iOS - OC NSTimeZone 时区
前言
@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];
iOS - OC NSTimeZone 时区的更多相关文章
- iOS - Swift NSTimeZone 时区
前言 public class NSTimeZone : NSObject, NSCopying, NSSecureCoding NSTimeZone 表示时区信息. 1.NSTimeZone 时区的 ...
- NSDate|NSTimeZone|时区|日历
NSDate,NSDateFormatter以及时区转换-开发者-51CTO博客 iOS 时区转换 东八区 - 简书 iOS时间的时区转换以及一些方法记录 - 简书 iOS - OC NSTimeZo ...
- iOS - OC NSCalendar 日历
前言 @interface NSCalendar : NSObject <NSCopying, NSSecureCoding> NSCalendar 对世界上现存的常用的历法进行了封装,既 ...
- iOS - OC 面向对象语法
1.类 1)根类:因为类 NSObject 是层次结构的最顶层,因此称为根类. 可以将类称为子类(subclass)和父类(superclass),也可以将类称为子类和超类. 2)分类/类别(cate ...
- ios+oc面试题
ios+oc面试题 浅复制和深复制的区别?//浅拷贝和深拷贝答案:浅层复制(copy):只复制指向对象的指针,而不复制引用对象本身.//通过对象的指针来访问这个对象深层复制(mutableCo ...
- iOS OC语言原生开发的IM模块--RChat
iOS OC语言原生开发的IM模块,用于项目中需要原生开发IM的情况,具备发送文字.表情.语音.图片.视频等完整功能,包含图片预览视频播放等功能,此项目将会长期更新如有问题可以提出,我的邮箱:fshm ...
- NSTimeZone时区
前言 NSTimeZone 表示时区信息. 1.NSTimeZone 时区的创建 NSTimeZone *zone1 = [[NSTimeZone alloc] init]; // 根据时区名称创建 ...
- iOS - OC NSDate 时间
前言 NSDate @interface NSDate : NSObject <NSCopying, NSSecureCoding> NSDate 用来表示公历的 GMT 时间(格林威治时 ...
- iOS - OC Foundation 框架
前言 框架是由许多类.方法.函数和文档按照一定的逻辑组织起来的集合,以使研发程序更容易. Foundation 框架:为所有程序开发奠定基础的框架称为 Foundation 框架. Cocoa :是指 ...
随机推荐
- fedora 20 yum出错
需要利用linux做项目,所以在win10装了vmvare 以及 fedora,据说这个linux比较稳定.. 1.系统装好以后,需要先把terminal调处理,这才符合程序猿的习惯嘛,具体方法如下 ...
- java map 遍历
转自http://rain-2372.iteye.com/blog/1615615 package com.spring.test_B11_aop1; import java.util.HashMap ...
- php开启openssl的方法
windows下开启方法: 1: 首先检查php.ini中:extension=php_openssl.dll是否存在, 如果存在的话去掉前面的注释符‘:’, 如果不存在这行,那么添加extensio ...
- 简单选择排序(Java)
简单选择排序: 每一趟在整个记录中找到最小的那个作为有序序列的第i个记录. class SelectSort{ public void p(int[] a){ for(int i=0;i<a.l ...
- JDBC的批量处理数据
主要用到的方法有: preparedStatement.executeBatch();//积攒的数据执行 preparedStatement.clearBatch();//积攒的清除掉 prepare ...
- 网络编程中获取域名和id的方法
package com.lanqiao.java.test; import java.net.InetAddress;import java.net.UnknownHostException; pub ...
- java文件写入和读出的序列化
文件的写入入与读出都有它们自己的格式,不便于读入和取出,implement Serializable接口,实现任何个事文件的写入和读取取:
- Mix and Build(简单DP)
Mix and Build Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 3936 Accepted: 1203 Case Ti ...
- hust 1010 最短循环节点
题目链接:http://acm.hust.edu.cn/problem/show/1010 KMP失配指针的利用: next数组前缀和后缀最长公共长度,这样len - next[len];就是最短的循 ...
- Unix网络编程--卷一:套接字联网API
UNIX网络编程--卷一:套接字联网API 本书面对的读者是那些希望自己编写的程序能够使用成为套接字(socket)的API进行彼此通信的人. 目录: 0.准备环境 1.简介 2.传输层:TCP.UD ...