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>
此更新的代码可确保时间转换准确反映两个时区之间的时差,包括夏令时所需的任何调整。通过利用此修订版本,您可以放心地将日期和时间转换为任何所需的时区。
以上是如何准确地将 Java 日期和时间转换为中央标准时间 (CST)?的详细内容。更多信息请关注PHP中文网其他相关文章!