2013-08-07 6 views
12

私はC#を使用しています。 Webアプリケーションを実行している人 のローカルタイムゾーン情報を取得する必要があります。Get Local TimeZoneInfo

TimeZoneInfo tzinfo = TimeZoneInfo.Local; 

    TimeZoneInfo.ConvertTimeFromUtc(result.DueDate.Value, tzinfo); 

は何を使用するのであれば

私は思っていました。再び、アプリケーションを実行している人がどのタイムゾーンにあるかによって、私は反映されるのが好きです。

+6

あなたは「Webアプリケーション」と言いましたか?*サーバー*または*クライアント*のタイムゾーンを取得しようとしていますか? –

+1

私はクライアントのタイムゾーンを取得しようとしています。 –

+0

ここでは、UTCのDateTimeをWebサイトのユーザーのローカルタイムに変換する方法を示します。そのトリックは、ユーザー(クライアント)がサーバーにどのタイムゾーンにいるかを伝え、サーバーがUTCのDateTimeを現地時間にオフセットできるようにすることです。https://stackoverflow.com/questions/8194016/how-to- 30503614#30503614 –

答えて

14

はい、そうです、これはあなたが使用すべきものです。代替

TimeZone localZone = TimeZone.CurrentTimeZone; 

ことができますが、CurrentTimeZoneプロパティはそれほど違いはありません本当にTimeZoneInfo.Localプロパティに対応します。

ローカルタイムゾーンの標準時刻と夏時間の名前が表示されます。

+3

これは、プロセスをホストしているマシンのローカルタイムゾーンを返すが、必ずしも「Webアプリケーションを実行している人」であるとは限りません。 – Mayo

+0

ありがとうございます。上記の編集されたvesionでTimeZoneInfo.ConvertTimeFromUtcを使用しています。これが最善の方法であるかどうか教えてください。ありがとうございました。 –

+0

あなたはcliensタイムゾーン情報またはサーバーを必要としますか? – Ehsan