次の例を考えます。
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ます。