
本文介绍了如何使用 Java 8 及以上版本中的 java.time API 将 EDT(美国东部时间)时区的日期字符串转换为 UTC(协调世界时)日期。核心在于正确解析包含时区信息的日期字符串,并利用 ZonedDateTime 类的 withZoneSameInstant 方法将其转换为 UTC 时区。同时提供了详细的代码示例,展示了如何获得 Instant、ZonedDateTime 和 LocalDateTime 类型的 UTC 时间。
在处理来自不同系统的数据时,经常会遇到日期和时间以字符串形式表示,并且可能包含时区信息。将这些日期和时间转换为统一的时区(例如 UTC)进行存储和处理,是确保数据一致性和准确性的重要步骤。java.time API 提供了强大的工具来完成这项任务。
使用 ZonedDateTime 进行时区转换
ZonedDateTime 类是 java.time API 中用于表示带时区信息的日期和时间的类。要将 EDT 时区的日期字符串转换为 UTC,需要以下步骤:
立即学习“Java免费学习笔记(深入)”;
代码示例
以下代码示例演示了如何将 "11-14-2022 10:41:12 EDT" 字符串转换为 UTC 时间,并分别以 Instant、ZonedDateTime 和 LocalDateTime 形式展示:
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;
public class Main {
public static void main(String[] args) {
String dateFromUpstream = "11-14-2022 10:41:12 EDT";
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss z", Locale.ENGLISH);
ZonedDateTime zdt = ZonedDateTime.parse(dateFromUpstream, dtf);
Instant instant = zdt.toInstant();
System.out.println("Instant (UTC): " + instant);
// Or get a ZonedDateTime at UTC
ZonedDateTime zdtUTC = zdt.withZoneSameInstant(ZoneOffset.UTC);
System.out.println("ZonedDateTime (UTC): " + zdtUTC);
// If you want LocalDateTime
LocalDateTime ldt = zdtUTC.toLocalDateTime();
System.out.println("LocalDateTime (UTC): " + ldt);
// OffsetDateTime at UTC
OffsetDateTime odtUTC = zdt.toOffsetDateTime().withOffsetSameInstant(ZoneOffset.UTC);
System.out.println("OffsetDateTime (UTC): " + odtUTC);
}
}输出结果
Instant (UTC): 2022-11-14T15:41:12Z ZonedDateTime (UTC): 2022-11-14T15:41:12Z LocalDateTime (UTC): 2022-11-14T15:41:12 OffsetDateTime (UTC): 2022-11-14T15:41:12Z
注意事项
总结
使用 java.time API 可以方便地将带时区信息的日期字符串转换为 UTC 时间。 通过正确解析日期字符串,并使用 ZonedDateTime 类的 withZoneSameInstant 方法,可以获得 Instant、ZonedDateTime 或 LocalDateTime 类型的 UTC 时间。 在处理日期和时间时,务必注意时区信息,并选择合适的时间表示方式,以确保数据的一致性和准确性.
以上就是Java 中将 EDT 时区日期字符串转换为 UTC 日期的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号