gpt4 book ai didi

Java - System.currentTimeMillis();不退差价

转载 作者:行者123 更新时间:2023-11-30 09:34:31 31 4
gpt4 key购买 nike

出于某种原因,我得到了函数返回的一致 3600:

private static long getCountdownLeft() {
long now = System.currentTimeMillis();
long elapsedMillis = now - initialTime; //difference of current 'current' time
long millisLeft = secondsOfGame * 1000 - elapsedMillis;
return millisLeft/1000;
}

public static void Main(String[] args ) {
System.out.println("Time is " + getCountdownLeft());
}

private static int secondsOfGame = 3600;
private static long initialTime = System.currentTimeMillis();

这是事件驱动的。我希望每次调用该函数时都能看到时间差异。我只是使用 main 来表明我正在调用它。

最佳答案

这很可能是因为 elapsedMillis 为零。我建议使用 System.nanoTime() 来计算耗时。

我不太确定您的代码是如何工作的(正如现在发布的那样),但类似的东西可能会工作。请注意,您需要添加计算逻辑,这只是一个示例:

public class TimeTest {

private long startTime;

public TimeTest(){
startTime = System.nanoTime();
}

public void computeTimeDifference(){
long currentTime = System.nanoTime();
long elapsedTime = currentTime - startTime;

System.out.println("Difference: "+elapsedTime+ "ns");
}

public static void main(String[] args) {
new TimeTest().computeTimeDifference();
}
}

关于Java - System.currentTimeMillis();不退差价,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770935/

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