美文网首页iOS开发征服iOS
iOS NSTimeZone 自定义时区的使用

iOS NSTimeZone 自定义时区的使用

作者: Raybon_lee | 来源:发表于2016-03-07 22:46 被阅读1352次

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

    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就可以了。
    以上是简单时区的使用,如有错误之处,还望指正

    相关文章

      网友评论

        本文标题:iOS NSTimeZone 自定义时区的使用

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