gpt4 book ai didi

java - 将时间戳从 API 转换为本地时间戳

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

我需要代码方面的帮助。我的 API 具有 UTC 格式的时间戳,我需要将其转换为本地时间戳,即 CST。

例如:我的 API 的时间戳值为:2019-01-08T13:17:53.4225514(UTC 格式)。

我需要输出类似于 2019 年 1 月 8 日上午 8:28:18.514(这是我本地时间的 CST)

如何将其转换为本地时间戳?

时间戳createdOn = api.getCreatedOn(); (这里我从 api 获取时间戳作为对象)

最佳答案

事实证明,做起来有点困难。

以下是如何解析 UTC 格式的字符串时间戳以获取您首选时区的 ZonedDateTime 对象:

// define formatter once to be re-used wherever needed
DateTimeFormatter formatter = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd'T'HH:mm:ss") // all fields up seconds
.appendFraction(ChronoField.NANO_OF_SECOND, 0, 9, true) // handle variable-length fraction of seconds
.toFormatter();

String text = "2019-01-08T13:17:53.4225514";

LocalDateTime localTime = LocalDateTime.parse(text, formatter); // parse string as a zone-agnostic LocalDateTime object
ZonedDateTime utcTime = localTime.atZone(ZoneId.of("UTC")); // make it zoned as UTC zoned
ZonedDateTime cstTime = utcTime.withZoneSameInstant(ZoneId.of("America/Chicago")); // convert that date to the same time in CST

// print resulting objects
System.out.println(utcTime);
System.out.println(cstTime);

关于java - 将时间戳从 API 转换为本地时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54095847/

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