**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
11天前关门了。
改进这个问题
我正在编写一个自己的应用程序来帮助runescape 3拖缆通过dps轮换显示来教育他们的观众,我想实现一个功能,即apm(每分钟的操作数),也就是说,一分钟内按下的按键(热键)数,我正在做的是,有一个自动取款机 LocalTime
当线程开始时,每5秒它应该显示一次apm,但我猜我的公式是不正确的。
当前公式为: LocalTime apm = Main.keysPressed.size() / (LocalTime.now().minus(Main.apmLocalTime);
即:计数器/(当前时间-开始时间)
问题是,.minus()需要一个temporalunit作为参数,我完全迷路了。
有人能帮我得到这个公式吗。
1条答案
按热度按时间f87krz0w1#
热释光;博士
java.time.instant文件
使用
Instant
追踪一个瞬间,而不是LocalTime
.Instant
表示一个时刻,时间线上的一个点,如utc所示。该类解析为纳秒,但当前的传统硬件时钟将捕获当前时刻限制为微秒或毫秒。这个
LocalTime
类仅表示一天中的一个时间,没有日期和时区的上下文,也没有utc的偏移量。所以这个类不能代表一个时刻。使用
Duration
类,使您的代码更易于自文档化。提示:通常在java中,我们希望使用更通用的接口和超类,而不是更具体的类,但在java.time中,情况恰恰相反。在java.time中,我们希望使用特定的具体类,因为框架程序员在文档中告诉我们这样做。因此,如果您的ide或编译器建议
Temporal
例如,按照javadoc查看实现类的列表,例如Instant
.