NSDate将时区更改为GMT +02.00

时间:2014-03-17 06:56:23

标签: ios timezone nsdate nsdateformatter

我有NSDate时区GMT +00.00,我想将其更改为GMT +02.00。为此,我创建了NSDateFormatter并将时区设置为UTC,但它确实给了我预期的结果,

这是我的代码,

NSDateFormatter *timeformater = [[NSDateFormatter alloc] init];
[timeformater setLocale:[NSLocale currentLocale]];
[timeformater setDateFormat:@"EEEE-dd-MMMM-yyyy HH:mm a"];
[timeformater setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];

如何正确更改时区?

1 个答案:

答案 0 :(得分:4)

NSDate是一个时间点,与时区无关。您无法更改其时区,因为它没有时区。如果我们在不同的地区,并同时拨打[NSDate日期](例如,如果我打电话给你,我们在同一时间点击一个按钮),即使我们的手表显示不同的时间,我们也会得到相同的NSDate 。

NSDateFormatter用于创建字符串以显示NSDate值,具体取决于时区。 NSCalendar用于使用NSDate进行计算,具体取决于时区。但是你不能改变NSDate的时区。

相关问题