我从服务器获得UTC时间,我需要在本地时区显示这个时间,这是我的代码
NSString *UTCtime = @"10:30";
NSDateFormatter * frmt = [[NSDateFormatter alloc]init];
[frmt setDateFormat:@"HH:mm"];
NSDate *localTime = [frmt dateFromString:UTCtime];
提前谢谢。
答案 0 :(得分:0)
首先,将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];