Windows サーバーにはレジストリ キー HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation があり、フィールド ActiveTimeBias は、実行中のマシンの GMT からのオフセットを分単位で返します。
生成した HTML ページでユーザーの現地時間を表示する必要がある Web アプリケーションがあります。これを行うには、ユーザーにタイムゾーンのプリファレンスを設定してから上記の値をフェッチして、サーバー時間とクライアント時間を比較し、正しい計算を行うことができるようにします。
私たちが構築したサーバーでは、これはうまく機能します。私たちは、構成して使用する Windows サーバー ami を提供しているティア 1 クラウド プロバイダーにアプリケーションをデプロイしています。ローカル サーバーでクロック コントロール パネルを使用すると、TimeZoneInformation のレジストリ エントリが正しいことがわかりました。この仮想マシンに対して同じことを行うと、エントリは ActiveTimeBias を除いて正しくなります。
Microsoft は、通常の方法で個々の値をいじらないように警告しています。
コミュニティへの質問 - 他の誰かがこの問題に遭遇しましたか? もしそうなら、どのように修正しましたか?