Мы можем просто разделить нанотечение на 1_000_000_000 , или используйте единицу времени.СЕКУНДЫ.преобразовать чтобы преобразовать его.
package com.mkyong;
import java.util.concurrent.TimeUnit;
public class JavaExample {
public static void main(String[] args) throws InterruptedException {
long start = System.nanoTime();
Thread.sleep(5000);
long end = System.nanoTime();
long elapsedTime = end - start;
System.out.println(elapsedTime);
// 1 second = 1_000_000_000 nano seconds
double elapsedTimeInSecond = (double) elapsedTime / 1_000_000_000;
System.out.println(elapsedTimeInSecond + " seconds");
// TimeUnit
long convert = TimeUnit.SECONDS.convert(elapsedTime, TimeUnit.NANOSECONDS);
System.out.println(convert + " seconds");
}
}
Выход
5000353564 5.000353564 seconds 5 seconds
Рекомендации
Оригинал: “https://mkyong.com/java/java-how-to-convert-system-nanotime-to-seconds/”