Java if语句currentTimeMillis,检查特定时间是否已经过去
我遇到了一个奇怪的问题。我正在尝试检查当前时间是否大于 powertimer。当我运行该方法时,即使 powerup.getPowertimer() - System.currentTimeMillis() 大于 0,if 语句也会返回 true,我通过打印结果进行了测试。
this.powertimer = System.currentTimeMillis() + 10000;
public long getPowertimer() {
return this.powertimer;
}
if ((powerup.getPowertimer() - System.currentTimeMillis()) > 0) {
System.out.println(powerup.getPowertimer() - System.currentTimeMillis());
powerup.reversePower(player);
expired.add(powerup);
}
有谁知道如何解决这个问题?
I've ran into an odd problem. I'm trying to check if the current time is greater than powertimer. When I run the method the if-statement returns true even though powerup.getPowertimer() - System.currentTimeMillis()
is greater than 0 which I tested by printing out the result.
this.powertimer = System.currentTimeMillis() + 10000;
public long getPowertimer() {
return this.powertimer;
}
if ((powerup.getPowertimer() - System.currentTimeMillis()) > 0) {
System.out.println(powerup.getPowertimer() - System.currentTimeMillis());
powerup.reversePower(player);
expired.add(powerup);
}
Does anyone know how to fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
要检查当前时间是否“超过”了
powertimer
超时,请注意,您的行:
相当于
To check if current time has "passed" the
powertimer
timeout, you doNote that your line:
is equivalent to
你的减法方法是错误的。这样做:
永远记住这一点:
感谢我的高中物理老师杰夫·鲍威尔(Geoff Powell)给我这个我在生活中经常使用的小宝石。
You've got the subtraction around the wrong way. Do this:
Always remember this:
Thanks to my high school physics teacher Geoff Powell for this little gem I have used often in my life.