iOS NSTimeZone 自定义时区的使用

需求:有时候我们需要时间提前或者晚上几个小时,那么这个如果不想自己去计算,那么值得思考的一个问题,根据时区,无疑是最好的选择。

  1. 获取系统时间
    // 下面获取到的是系统的GMT时间,也就是绝对时间,在同一时间,不同地区对应的时区的时间是不一样的,地理要学好啊。。。
    NSDate *now = [NSDate date];
NSDateFormatter *df = [[NSDateFormatter alloc]init];//时间戳格式化
df.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 格式化年月日,时分秒
df.timeZone = [NSTimeZone systemTimeZone];//系统所在时区
NSString *systemTimeZoneStr =  [df stringFromDate:now];
df.timeZone = [NSTimeZone defaultTimeZone];//默认时区,貌似和上一个没什么区别
   NSString *defaultTimeZoneStr = [df stringFromDate:now];
   df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0 * 3600];//直接指定时区
   NSString *plus8TZStr = [df stringFromDate:now];
   df.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:-4*3600];/ /这就是GMT+0时区了
   NSString *gmtTZStr = [df stringFromDate: now];
   NSLog(@"Test Time\nSys:%@\nDefault:%@\n+8:%@\nGMT:%@",systemTimeZoneStr,defaultTimeZoneStr,plus8TZStr,gmtTZStr);

timeZoneForSecondsFromGMT 自定义时区主要依靠这个方法,
我们穿进去一个seconds 就可以了,如果我们提前12小时,那么对应的我们设置成-4*3600就可以了。
以上是简单时区的使用,如有错误之处,还望指正

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容