iOS开发 手机当前时区与任意时区时间互转的问题

            NSDate *date=[NSDate date];//获取时间date

            NSTimeZone* localTimeZone = [NSTimeZone localTimeZone];//获取手机当前时区

            NSIntegeroffset = [localTimeZonesecondsFromGMTForDate:date];///手机当前时区与格林威治时间的时间差

            NSTimeZone *bjTimerZone = [NSTimeZone timeZoneWithName:@"GMT+0800"];///此处以北京时区为例,可更换为GMT-0800等时区

            NSIntegerbjOffset = [bjTimerZone secondsFromGMTForDate:date];///北京时间与格林威治时间的时间差

            NSDate*localDate = [date dateByAddingTimeInterval:bjOffset - offset];///计算北京时间的date

            NSDateFormatter *format=[[NSDateFormatter alloc] init];

            [format setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

            NSString*dateStr =[format stringFromDate:localDate];///拿到北京时区的时间戳

比如当前时区为东京时间2018-8-8 18:38:38,我们开发一般需要北京时间,因为存在一小时时差,那么根据上述代码就会得到正确的北京时间为 2018-8-8 17:38:38

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。