2010-05-30 119 views
7

從我研究過它是不可能改變一個線程的時區。所以我的問題是爲什麼不可以嗎?當我設置CurrentCulture時,爲什麼時區不會更改?

我會想,將您的應用程序的文化轉換到特定的國家也會切換這個,看起來像預期的行爲國際海事組織。

編輯

修改我能看到爲什麼它可能不應該被映射的原因1後:默認情況下,1。不過,我仍然認爲這將是一個很好的功能,可以改變每個線程的時區。

+0

+1對於「我仍然覺得這將是一個很好的功能,能夠改變每個線程的時區」 – 2013-03-28 13:08:39

回答

10

他們不是1:1,所以他們沒有真正連接。如果您將當前的文化設置爲en-US,那是哪個時區? :)

幾個國家有超過1個時區,所以設置文化(which is not country specific either for that matter),與真的沒什麼關係。

+0

+1好點!從來沒有這樣想過。對於那些*不具有多個時區的人來說,這不是一個好主意嗎? – James 2010-05-30 12:32:41

+1

@James - Nope :)你應該總是在API中尋求*一致*的行爲,而不是「在某些情況下這樣做*如果你可以」,那就是要求麻煩和幫助臺呼叫。可預測>儘可能多地做 – 2010-05-30 12:34:37

+0

如果CurrentCulture有一個超時時間帶了Timezone ID,我會很好:) – James 2010-05-30 12:36:18

4

文化是一回事,時區是另一回事。假設你是在美國紐約工作的南非公民。顯然,你希望你的時區是東部時間(格林威治標準時間-5),因爲這是你的地方;根據你的建議,然而,如果你也將自己的文化設置爲「af-ZA」,那麼你可以自動將時區更改爲GMT +2。

+0

是的修改後,我意識到他們可能不應該被默認映射。不過,如果你可以設置線程的時區,那也不錯。 – James 2010-05-30 13:11:36

+0

@詹姆斯:那的確很好。但是,解決這個問題肯定有其他方法。例如,你的應用程序能否保持它自己的UTC偏移量 - 在運行時可以修改 - 並且在需要時間的地方使用這個偏移量? – 2010-05-30 13:37:26

+0

目前我有一個解決方案,並在飛行中進行轉換。只是認爲如果我可以改變每個線程的時區並完全消除轉換,這會更容易。 – James 2010-05-30 14:08:24

相關問題