gpt4 book ai didi

更改计算机时钟后的 Java 系统时间

转载 作者:行者123 更新时间:2023-12-01 05:23:00 25 4
gpt4 key购买 nike

我想在更改计算机时钟后在 java 应用程序中获取时间。这似乎没有得到正确的时间。

例如

Computer clock reads 1:30pm; new Date() returns 1:30pm
Change computer clock to 12:30pm;
Computer clock reads 12:30pm; new Date() returns 12:30pm
Change computer clock to 1:30pm;
Computer clock reads 1:30pm; new Date() returns 12:30pm

我的 Java 应用程序是否可以检测到时钟的这种变化?

更新:似乎只发生在 Chrome 中...

最佳答案

您可以创建一个线程,在 X 毫秒后持续检查时间。如果时间偏移量大于+-N(考虑到其他进程可能正在使用处理器,因此可能存在小错误),则创建时间偏移量。然后为自己创建一个新的日期类并添加偏移量以获取时间。

我不知道它是否完全准确,但它在大多数情况下都有效

编辑:该线程将记录系统时钟的时间并进入休眠状态。

例如,对于 10 秒的线程 sleep 时间,我们将误差率保持为 1 秒

系统时钟 = 10:00:00记录在线程中 = 10:00:00差异 = null

线程 hibernate 10 秒

系统时钟 = 10:00:11记录在线程 = 10:00:11差异 = 11 偏移量=0,因为它在允许的限度内 10 +- 1

线程 hibernate 10 秒,系统时钟增加 1 小时

系统时钟 = 11:00:21记录在线程 = 11:00:21差异 = 3600偏移量 = 3599

现在您需要减去这个偏移量,您将得到 10:00:22 ,虽然不准确,但很接近。

关于更改计算机时钟后的 Java 系统时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10047356/

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