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