在全球范围内设置特定时区以供应用程序使用

问题描述:

我正在编写一个应用程序,需要显示和计算来自欧洲特定给定时区的所有日期,时间,时间间隔等。意思是说,如果我说在巴黎,应用程序完美无瑕地工作,但如果我去纽约,应用程序应该显示和工作,就好像我还在巴黎一样。在全球范围内设置特定时区以供应用程序使用

天真,我想(在application: didFinishLaunchingWithOptions:功能)

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

,但当然,这并不工作,我所有的NSDateFormatter对象仍然使用当前的时区,如果没有明确告知,否则的。

所以,我想知道的是:

  • 有什么办法来全局强制执行应用程序时区?如果还有其他方法,我宁愿不通过我的所有代码并修复每个日期格式化程序和日期选择器等。

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

谢谢!

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

+0

......好的,现在我觉得很愚蠢:-)我接受了你的答案,但是你可能只是加入你对CET/CEST问题的看法?非常感谢! – JiaYow 2012-02-21 16:14:45

+0

是的,我认为它默认会自动切换。 – sch 2012-02-21 16:37:00

+0

完美,谢谢。 Upvoted你的答案:-) – JiaYow 2012-02-22 13:19:54