【发布时间】:2014-01-21 17:39:19
【问题描述】:
因此,我目前将 14:45 EST 更改为 GMT,即 19:45 GMT,因为有 5 小时的时差。然而,我的代码正在做的是,它正在反转时间,而不是显示格林威治标准时间 19:45,这是显示 09:45 的正确时间,结果是 -5 小时而不是我想要的 +5 小时。
这是我目前正在使用的代码
NSDateFormatter* df_utc = [[NSDateFormatter alloc] init];
[df_utc setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EST"]];
[df_utc setDateFormat:@"HH:mm"];
NSDateFormatter* df_local = [[NSDateFormatter alloc] init];
[df_local setTimeZone:[NSTimeZone systemTimeZone]];
[df_local setDateFormat:@"HH:mm"];
NSString *ts_utc_string = [df_utc stringFromDate:dateFromString];
NSString *ts_local_string = [df_local stringFromDate:dateFromString];
NSLog(@"UTC TIME: %@",ts_utc_string);
NSLog(@"LOCAL TIME: %@",ts_local_string);
基本上 UTC TIME 打印 09:45 而 LOCAL TIME: 打印 14:45,但是我想 UTC 时间打印 19:45。
[NSTimeZone systemTimeZone] = GMT +0;
【问题讨论】:
标签: iphone objective-c nsdate nsdateformatter