次の例を考えます。
DateTime result = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time");
は文字列なのでAtlantic Standard Time
、これは安全ですか? 別名、ドイツの OS で同じコードを実行すると、コードは失敗しますか? もしそうなら、このようなタイムゾーンを適切に処理するにはどうすればよいですか?
次の例を考えます。
DateTime result = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(DateTime.UtcNow, "Atlantic Standard Time");
は文字列なのでAtlantic Standard Time
、これは安全ですか? 別名、ドイツの OS で同じコードを実行すると、コードは失敗しますか? もしそうなら、このようなタイムゾーンを適切に処理するにはどうすればよいですか?
Id
オブジェクトのプロパティによって取得されるようなタイム ゾーン識別子は、TimeZoneInfo
ローカライズされません。これらは、次の場所にあるレジストリ キー名と一致します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
それらは常に英語であり、翻訳されるべきではありません。そうです、それは安全です。
一方DisplayName
、、StandardName
およびDaylightName
プロパティはローカライズされています。CurrentCulture
オペレーティング システム自体のローカリゼーションを使用し、アプリケーションまたはアプリケーションに加えた変更を無視しCurrentUICulture
ます。