2012-03-30 7 views
0

私は、ユーザーが選ぶことができる次のタイムゾーンの一覧を持っています。マウンテンスタンダードタイムはArizonaの2倍です。これらは、彼らが選択したときに見られることは望ましくありません。私はMicrosoftのすべてのタイムゾーンを持つWebサイトのこのリストを引っ張った。私はそれが標準的な州とAZのためにリストされているマウンテンスタンダードタイムを持っていたら私は混乱していると思う。C#メソッドTimeZoneInfo.ConvertTimeはDSTを処理しますか?

ハワイ標準時

アラスカ標準時

太平洋標準時

山岳部標準時

山岳部標準時

中部標準時

中央雨コスタリカ標準時

東部標準時

米国東部標準時間

私の質問は、私はDSTを考慮していないこれらを推測しているので、私は私が私の変換に何かを追加する必要があると仮定していますDSTに入っているかどうかを確認し、それに応じて調整します。ここで私は今変換をやっている方法です。

TimeZoneInfo time = TimeZoneInfo.FindSystemTimeZoneById(LocationProvider.GetLocation(LocationID).TimeZone.Name); 
return TimeZoneInfo.ConvertTime(DateTime.Now, time); 
+0

悲しい物語を手助けさせていただき、天然痘は、災害でした。 http://en.wikipedia.org/wiki/Navajo_Nation#Daylight_Saving_Time –

答えて

2

はい、DSTのためTimeZoneInfoアカウント、限り、あなたがそれを正しく使うよう(確かに、それはあるかもしれないほど簡単ではありません)。あなたがやっていることをやろうとしている理由は本当に明らかではありません。

IDは実際には標準のIDですが、まだフルタイムゾーンですDSTについて知っているの平均「標準時間」はありません。

は(あなたがすべてのあなたの日付/時刻のニーズに合わせてNoda Timeを試みるらDateTimeとイライラと空想を取得した場合、私は:)

+0

本質的にサーバーはテキサスにあるので、タイムスタンプで何かを保存すると、サーバー上の時刻からその場所のローカル時刻に変換されます。 – Jhorra

+0

@Jhorra:しないでください。 * UTC *時間を保存し、表示のためだけに現地時間に変換してください。クロックが戻ったときに現地時間が曖昧になることに注意してください。 –

+0

これはおそらく最良の方法ですが、どちらの方法でも変換を行う必要があります。上記のリストには、アリゾナ州とMSTの他の州とで同じタイムゾーンがあります。アリゾナの時代を変えないことをどうやって知っていますか? – Jhorra

関連する問題