Хорошо , вы можете просто разделить на 1 000 000 000:
long elapsedTime = end - start;
double seconds = (double)elapsedTime / 1_000_000_000.0;
Если вы используете TimeUnit
для преобразования, вы получите результат как длинный, поэтому вы потеряете десятичную точность, но сохраните точность целых чисел.
TimeUnit
Enum В следующем выражении используется перечисление TimeUnit
(Java 5 и более поздние версии) для преобразования наносекунд в секунды:
TimeUnit.SECONDS.convert(elapsedTime, TimeUnit.NANOSECONDS)
TimeUnit - это перечисление, поэтому вы не можете создать новое.
Следующий код преобразует 1000000000000 нс в секунды.
TimeUnit.NANOSECONDS.toSeconds(1000000000000L);