「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > JVM タイムゾーンを OS 設定に合わせるにはどうすればよいですか?

JVM タイムゾーンを OS 設定に合わせるにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:463

How to Align JVM Timezone with OS Settings?

JVM タイムゾーン構成

Java で時刻と日付の値を操作する場合、タイムゾーンは精度を確保する上で重要な役割を果たします。ただし、JVM のデフォルトのタイムゾーンが OS 指定のタイムゾーンと一致しない場合、不一致が発生する可能性があります。

この問題に対処するには、JVM の起動時に -Duser.timezone パラメータを利用できます。 。正しいタイムゾーンを指定すると、デフォルトの GMT タイムゾーンをオーバーライドして、JVM が OS の設定に準拠するようにすることができます。

たとえば、次のシナリオを考えてみましょう。

import java.util.Calendar;

public class DateTest {
    public static void main(String[] args) {
        Calendar now = Calendar.getInstance();
        System.out.println(now.getTimeZone());
        System.out.println(now.getTime());
    }
}

このプログラムを実行すると、デフォルトの GMT タイムゾーンと対応する日付と時刻が表示されます:

sun.util.calendar.ZoneInfo[id="GMT", offset=0, ...]
Mon Mar 22 13:46:45 GMT 2010

OS の設定と一致するように JVM タイムゾーンを設定するには、-Duser.timezone パラメーターを JVM 呼び出しに追加します。

java -Duser.timezone=Europe/Sofia DateTest

これにより、デフォルトの GMT タイムゾーンがオーバーライドされ、代わりに OS の仕様に合わせて「Europe/Sofia」タイムゾーンが使用されます。 「Europe/Sofia」をシステムの適切なタイムゾーン識別子に置き換えることができます。

また、Linux システムでは、TZ 環境変数を設定してタイムゾーンを指定できます:

export TZ=Europe/Sofia
java DateTest

これらのメソッドを使用して JVM タイムゾーンを適切に構成すると、Java プログラムが OS の設定に従って時刻と日付の値を正確に反映するようにすることができます。

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

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

Copyright© 2022 湘ICP备2022001581号-3