Я искал ответ на свою дилемму и нашел несколько полезных советов, но ничего не касалось моего конкретного вопроса, поэтому я надеялся, что кто-то здесь сможет мне помочь.
Я пытаюсь получить точное время с точностью до миллисекунды на Java. Я использую System.nanoTime () для получения текущего времени и реализую его в следующем коде. Имейте в виду, это был код, который я использовал для проверки его точности.
long startTime = System.nanoTime () / 1000000;
while (true)
{
System.out.println ((System.nanoTime () / 1000000) -startTime);
}
Часть вывода выглядит так.
1110
1112
1112
1113
1114
1118
1120
Первая цифра - это количество секунд, вторая - десятые доли секунды, третья - сотые, а последняя - тысячные. Вы не можете увидеть это здесь, но у меня точность до сотых - никаких пропущенных или повторяющихся чисел. Однако тысячные доли - это далеко не точность. 0 -> 2 -> 2 -> 3 -> 4 -> 8 -> 0. Для того, что я делаю, мне нужна точность до тысячных долей, и из всего, что я прочитал, похоже, что System.nanoTime () должна быть способен обеспечить точность до миллисекунды.
Я что-то делаю не так или есть другой способ получить точность до миллисекунды?