Ios UTC时间字符串到本地时区字符串。
我从服务器获取UTC时间,我需要根据本地时区显示该时间,这是我的代码Ios UTC时间字符串到本地时区字符串。,ios,objective-c,nsdate,nsdateformatter,Ios,Objective C,Nsdate,Nsdateformatter,我从服务器获取UTC时间,我需要根据本地时区显示该时间,这是我的代码 NSString *UTCtime = @"10:30"; NSDateFormatter * frmt = [[NSDateFormatter alloc]init]; [frmt setDateFormat:@"HH:mm"]; NSDate *localTime = [frmt dateFromString:UTCtime]; 提前感谢。暂时更改时区: 首先,将UTC时间字符串转换为NSDate: NSString *
NSString *UTCtime = @"10:30";
NSDateFormatter * frmt = [[NSDateFormatter alloc]init];
[frmt setDateFormat:@"HH:mm"];
NSDate *localTime = [frmt dateFromString:UTCtime];
提前感谢。暂时更改时区:
首先,将UTC时间字符串转换为NSDate
:
NSString *UTCtime = @"10:30";
NSDateFormatter *frmt = [[NSDateFormatter alloc]init];
[frmt setDateFormat:@"HH:mm"];
[frmt setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];
NSDate *utcTime = [frmt dateFromString:UTCtime];
然后计算当前时区与UTC的时间差(以秒为单位):
NSInteger timeZoneDiff = [[NSTimeZone systemTimeZone] secondsFromGMT];
将该时差添加到上面计算的NSDate
UTC时间
NSDate *localTime = [utcTime dateByAddingTimeInterval:timeZoneDiff];