1

次の例を考えます。

DateTime result = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time");

は文字列なのでAtlantic Standard Time、これは安全ですか? 別名、ドイツの OS で同じコードを実行すると、コードは失敗しますか? もしそうなら、このようなタイムゾーンを適切に処理するにはどうすればよいですか?

4

1 に答える 1

1

Idオブジェクトのプロパティによって取得されるようなタイム ゾーン識別子は、TimeZoneInfoローカライズされません。これらは、次の場所にあるレジストリ キー名と一致します。

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones

それらは常に英語であり、翻訳されるべきではありません。そうです、それは安全です。

一方DisplayName、、StandardNameおよびDaylightNameプロパティローカライズされています。CurrentCultureオペレーティング システム自体のローカリゼーションを使用し、アプリケーションまたはアプリケーションに加えた変更を無視しCurrentUICultureます。

于 2013-10-18T18:01:11.090 に答える