首页  >  文章  >  Java  >  如何准确地将 Java 日期和时间转换为中央标准时间 (CST)?

如何准确地将 Java 日期和时间转换为中央标准时间 (CST)?

DDD
DDD原创
2024-10-26 13:16:02636浏览

How to Accurately Convert Java Dates and Times to Central Standard Time (CST)?

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn