【问题标题】:Set specific timezone globally for app to use全局设置特定时区供应用使用
【发布时间】:2012-02-21 15:34:37
【问题描述】:

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

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

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

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

所以,我想知道的是:

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

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

先谢谢了!

【问题讨论】:

    标签: ios nsdate nsdateformatter nstimezone


    【解决方案1】:

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

    【讨论】:

    • ... 好吧,现在我觉得自己很愚蠢 :-) 我接受了您的回答,但您能否补充一下您对 CET/CEST 问题的看法?非常感谢!
    • 是的,我认为它默认会自动切换。
    • 谢谢!简单漂亮
    • 我必须在哪个函数中编写这个函数?
    猜你喜欢
    • 1970-01-01
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    • 2014-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多