Java でのデフォルトのタイムゾーンが正しくない問題を解決する方法
特定のシナリオでは、Java アプリケーションで JVM のタイムゾーンがデフォルトで GMT になるという問題が発生することがあります。オペレーティング システム (OS) で定義されたタイムゾーン。これにより、日付と時刻が正しく処理されない可能性があります。
このようなインスタンスの 1 つは、Windows Server Enterprise (2007) で実行されている Java Development Kit (JDK) バージョン 1.5 で発生します。 OS で中部タイムゾーンを指定しているにもかかわらず、アプリケーションは GMT 時刻を返します。
この問題に対処するために、アプリケーション内からタイムゾーンを変更する必要はありません。代わりに、次の JVM パラメータを渡すことができます:
-Duser.timezone
例:
-Duser.timezone=Europe/Sofia
このパラメータは、JVM のユーザー定義のタイムゾーンを設定し、デフォルトの GMT タイムゾーンをオーバーライドします。さらに、環境変数 TZ (Linux の場合) を設定することでも問題を解決できる可能性があります。
このパラメータを指定すると、JVM が OS 定義のタイムゾーンを使用するようになり、Java で正しい日付と時刻が処理されるようになります。プログラム。
以上がJava アプリケーションが OS のタイムゾーンではなく GMT を使用しているのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。