6

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

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

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

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

所以,我想知道的是:

  • 有没有办法在应用程序中全局强制执行时区?如果有其他方法,我宁愿不检查所有代码并修复每个日期格式化程序和日期选择器等等。

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

提前谢谢!

4

1 回答 1

14

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

于 2012-02-21T16:07:49.320 回答