JVM タイムゾーン構成
Java で時刻と日付の値を操作する場合、タイムゾーンは精度を確保する上で重要な役割を果たします。ただし、JVM のデフォルトのタイムゾーンが OS 指定のタイムゾーンと一致しない場合、不一致が発生する可能性があります。
この問題に対処するには、JVM の起動時に -Duser.timezone パラメータを利用できます。 。正しいタイムゾーンを指定することで、デフォルトの GMT タイムゾーンをオーバーライドし、JVM が OS の設定に準拠していることを確認できます。
たとえば、次のシナリオを考えてみましょう。
<code class="text">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()); } }</code>
このプログラムが実行すると、デフォルトの GMT タイムゾーンと対応する日付と時刻が表示されます。
<code class="text">sun.util.calendar.ZoneInfo[id="GMT", offset=0, ...] Mon Mar 22 13:46:45 GMT 2010</code>
OS の設定と一致するように JVM タイムゾーンを設定するには、-Duser.timezone パラメーターをJVM 呼び出し:
<code class="text">java -Duser.timezone=Europe/Sofia DateTest</code>
これにより、デフォルトの GMT タイムゾーンがオーバーライドされ、代わりに OS の仕様に合わせて「ヨーロッパ/ソフィア」タイムゾーンが使用されます。 「Europe/Sofia」をシステムの適切なタイムゾーン識別子に置き換えることができます。
また、Linux システムでは、TZ 環境変数を設定してタイムゾーンを指定できます。
export TZ=Europe/Sofia java DateTest
これらの方法を使用して JVM タイムゾーンを適切に構成すると、Java プログラムが OS の設定に従って時刻と日付の値を正確に反映するようにすることができます。
以上がJVM タイムゾーンを OS 設定に合わせるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。