全局设置特定时区以供应用程序使用

时间:2012-02-21 15:34:38

标签: ios nsdate nsdateformatter nstimezone

我正在编写一个应用程序,需要显示和计算欧洲特定时区的所有日期,时间,时间间隔等。意思是,如果我在巴黎说,该应用程序现在可以完美运行,但是如果我去纽约,该应用程序应该显示和工作,就像我还在巴黎一样。

天真地,我尝试过(在application: didFinishLaunchingWithOptions:函数中)

[[NSCalendar currentCalendar] setTimeZone:[NSTimeZone timeZoneWithName:@"Europe/Paris"]];

但当然这不起作用,如果没有明确说明,我所有的NSDateFormatter对象仍然使用当前时区。

所以,我想知道的是:

  • 有没有办法在应用中全局实施时区?如果有另一种方法,我宁愿不通过我的所有代码并修复每一个日期格式化程序和日期选择器等等。

  • [NSTimeZone timeZoneWithName:@"Europe/Paris"]会在CET和CEST之间正确切换吗?

提前致谢!

1 个答案:

答案 0 :(得分:12)

您可以使用类NSTimeZone的方法+ (void)setDefaultTimeZone:(NSTimeZone *)aTimeZone