long nanoseconds = System.nanoTime();
long microseconds = nanoseconds/1000;
long miliseconds = microseconds/1000;
long seconds = miliseconds/1000;
long minutes = seconds/60;
long hours = minutes/60;
System.out.println (hours);
Когда на моей машине с Windows набежал ~ 11: 35 утра, печатает 26
. Не может быть 26 часов в день, и даже если бы это было, это даже близко к ожидаемому результату 11
. Почему это не работает? (Также я не хочу использовать какую-либо библиотеку Time Date, я знаю, что там есть более простые способы)Java - конвертировать наносекунды в HH/MM/SS
Надеюсь, что все это правильно, так как я нахожусь на своем телефоне. Всем спасибо!
Вы не выполнили вычисления достаточно далеко. 'days = hours/24'? –
«Этот метод может использоваться только для измерения прошедшего времени и не имеет отношения к какому-либо другому понятию системного или настенного времени. Возвращаемое значение представляет собой наносекунды с некоторого фиксированного, но произвольного времени начала (возможно, в будущем, поэтому значения могут быть отрицательный). То же самое происхождение используется всеми вызовами этого метода в экземпляре виртуальной машины Java, другие экземпляры виртуальной машины могут использовать другое происхождение ». –