Java の日付と時刻を別のタイムゾーンに変換
この記事では、現在のシステムの日付と時刻を別のタイムゾーンに変換する方法について説明します。 Java の異なるタイムゾーン。ただし、参考質問で提供されているコードでは、中部標準時 (CST) に変換しようとすると予期しない結果が生じることが判明しました。
この問題を解決するには、次のコード スニペットを利用できます。
<code class="java">Calendar calendar = Calendar.getInstance(); TimeZone fromTimeZone = calendar.getTimeZone(); TimeZone toTimeZone = TimeZone.getTimeZone("CST"); calendar.setTimeZone(fromTimeZone); calendar.add(Calendar.MILLISECOND, fromTimeZone.getRawOffset() * -1); if (fromTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, calendar.getTimeZone().getDSTSavings() * -1); } calendar.add(Calendar.MILLISECOND, toTimeZone.getRawOffset()); if (toTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, toTimeZone.getDSTSavings()); } System.out.println(calendar.getTime());</code>
この更新されたコードにより、夏時間に必要な調整も含め、時間変換が 2 つのタイムゾーン間の時差を正確に反映するようになります。この改訂版を利用すると、日付と時刻を希望のタイムゾーンに確実に変換できます。
以上がJava の日付と時刻を中部標準時 (CST) に正確に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。