gpt4 book ai didi

java - 使用 Java 8 将 UTC 日期字符串转换为 SQL 时间戳

转载 作者:行者123 更新时间:2023-12-02 13:38:48 24 4
gpt4 key购买 nike

我有一个带有时区的 ISO 格式的日期字符串。我必须使用 Java 8.0 将其转换为时间戳,+/- 区域转换为时间例如

2016-10-14T10:12:18.000+02:00 需要转换为 2016-10-14T08:12:18.000+00:002016-10-14T8:12:18.000Z

String utcDate = "2016-10-14T10:12:18.100+02:00";
ZonedDateTime result = ZonedDateTime.parse(utcDate, DateTimeFormatter.ISO_DATE_TIME);
System.out.println("Parsed: " + result);

输出:

Parsed: 2016-10-14T10:12:18.100+02:00

它不会将区域 +02:00 添加到日期。

最佳答案

目前您没有执行任何操作来转换该值 - 您使用的是 ZonedDateTime,因此它保留了所提供的时区(至少是偏移量)。 (我会使用 OffsetDateTime 而不是 ZonedDateTime,因为您实际上没有时区。)

您可以使用 withZoneSameInstant :

ZonedDateTime utc = result.withZoneSameInstant(ZoneOffset.UTC);

或者只是转换为即时:

Instant instant = result.toInstant();

(当然,然后适本地格式化)。

关于java - 使用 Java 8 将 UTC 日期字符串转换为 SQL 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42861443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com