gpt4 book ai didi

java - 有没有办法在本地时间之前触发一个 Action ?

转载 作者:行者123 更新时间:2023-12-02 08:49:36 25 4
gpt4 key购买 nike

我知道这可能看起来很简单,但我对 Java 确实很陌生,所以我需要你的帮助。

我想使用本地时间(毫秒)来触发操作,例如打印“Hello world”。更具体地说,在 "13:10:30:300"打印 "Hello world"。但我不知道应该使用哪个特定类(数据、本地时间等),以便我可以在 while 循环中将其与所需时间进行比较。我尝试过这个,但它在毫秒内不起作用。

import java.time.format.DateTimeFormatter;  
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss:ms");
LocalDateTime now = LocalDateTime.now();
LocalDateTime desire = 13:10:30.300;
while (now != desire ) {
LocalDateTime now = LocalDateTime.now();
}
System.out.println("Hello World!");

请问您有什么建议吗?

最佳答案

你的主要问题是:现在!=渴望。这比较的是这些对象是否相同,而不是它们的内容是否相同。要比较时间是否相同,您应该使用 now.equals(desire)

您的第二个问题是,如果两次检查之间的 now 变得大于 desire,则此循环可能会变得无限。

你的第三个问题是你不断地检查时间浪费了CPU周期。您应该计算您想要的时间还有多少毫秒,然后 sleep 直到那时。所以类似:Thread.sleep(desireMillis - nowMillis)

关于java - 有没有办法在本地时间之前触发一个 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60869619/

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