2012-02-21 63 views
4

我正在編寫一個應用程序,需要顯示和計算來自歐洲特定給定時區的所有日期,時間,時間間隔等。意思是說,如果我說在巴黎,應用程序完美無瑕地工作,但如果我去紐約,應用程序應該顯示和工作,就好像我還在巴黎一樣。在全球範圍內設置特定時區以供應用程序使用

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

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

,但當然,這並不工作,我所有的NSDateFormatter對象仍然使用當前的時區,如果沒有明確告知,否則的。

所以,我想知道的是:

  • 有什麼辦法來全局強制執行應用程序時區?如果還有其他方法,我寧願不通過我的所有代碼並修復每個日期格式化程序和日期選擇器等。

  • [NSTimeZone timeZoneWithName:@"Europe/Paris"]會在CET和CEST之間正確切換嗎?

謝謝!

回答

12

您可以使用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

相關問題