gpt4 book ai didi

java - 获取特定时区中的当前 Instant

转载 作者:行者123 更新时间:2023-11-30 10:40:44 25 4
gpt4 key购买 nike

我已尝试获取特定时区的当前实例,但它没有按预期工作。关于如何执行此操作的任何想法?

这是我做的:

Instant.now(Clock.system(ZoneId.of("America/Los_Angeles"))).truncatedTo(ChronoUnit.SECONDS)

然而,返回的即时时间始终是 UTC。我多次更改 ZoneID,但它总是错误的。请指教。

编辑:

我正在与使用时间戳生成日志的应用程序进行交互,我需要对这些事件进行操作。如果我用特定的时间戳启动我的程序,它应该立即开始从该时间戳读取事件。虽然我的笔记本电脑与生成这些事件的应用程序处于同一时区,但当我获得 Instant.Now() 时,我似乎处于 UTC。而应用程序根据我们所在的时区生成时间戳。我希望我的程序的时钟与服务器中的时钟相同。

应用程序生成 2016-08-04T18:17:51Z 格式的时间戳

最佳答案

Instant 不识别时区。如果您需要时区感知时间戳,您应该使用 ZonedDateTime

查看 ZonedDateTime.now(timezone)它将使用提供的时区。要使用机器的默认时区,请使用 ZonedDateTime.now()

如果你想解析一个 ZonedDateTime 并覆盖时区,你可以使用 ZonedDateTime.withZoneSameLocalZonedDateTime.withZoneSameInstant根据您的需要。

关于java - 获取特定时区中的当前 Instant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774734/

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