「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Java アプリケーションが OS のタイムゾーンではなく GMT を使用するのはなぜですか?それを修正するにはどうすればよいですか?

Java アプリケーションが OS のタイムゾーンではなく GMT を使用するのはなぜですか?それを修正するにはどうすればよいですか?

2024 年 11 月 7 日に公開
ブラウズ:426

Why is my Java application using GMT instead of my OS timezone, and how can I fix it?

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

Thisパラメータは、デフォルトの GMT タイムゾーンをオーバーライドして、JVM のユーザー定義のタイムゾーンを設定します。さらに、環境変数 TZ (Linux の場合) を設定することでも問題を解決できる可能性があります。

このパラメータを指定すると、JVM が OS 定義のタイムゾーンを使用するようになり、Java で正しい日付と時刻が処理されるようになります。プログラム。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3