簡體   English   中英

如何打印經過的時間(秒)java

[英]How to print time elapsed (seconds) java

在我的游戲循環方法中,我試圖打印程序在java中運行的時間。 我只是嘗試了System.out.println(System.nanoTime() / 1000000); 因為那是一秒鍾內的毫秒數。(如果你不知道的話)它打印了接近結束的秒數,但我想要測試目的的確切秒數。 我在網上搜索,有人建議使用我想到的相同公式。 任何人都可以准確一個嗎?

將上一次存儲在私人會員中。

private long previousTime;

在構造函數中初始化它。

previousTime = System.currentTimeMillis();

將它與run方法中的當前時間進行比較(游戲循環的每次迭代)

long currentTime = System.currentTimeMillis();
double elapsedTime = (currentTime - previousTime) / 1000.0;
System.out.println("Time in seconds : " + elapsedTime);
previousTime = currentTime;

除了提供的其他答案之外,您還可以使用標准庫StopWatch ,就像Google的Guava API提供的那樣:

Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
calculate();
stopwatch.stop(); // optional

long Seconds= stopwatch.elapsedMillis() / 1000000; // equals 1 second

您可以使用System.currentTimeMillis以毫秒為單位獲取當前時間。

如果您在應用程序的開頭和結尾處選擇此值,則減去這兩個值將為您提供應用程序運行的時間。

final long start = System.currentTimeMillis();
// your code here...
final long end = System.currentTimeMillis();
System.out.println("The program was running: " + (end-start) + "ms.");

如果你想在幾秒鍾內完成,只需將它除以你提到的1000。

System.out.println("The program was running: " + ((double)(end-start)/1000.0d) + "ms.");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM