Это вполне ожидаемо. То же самое вы увидите в .NET, используя DateTime.Now
. (См. Сообщение Эрика Липперта в блоге на тему для ознакомления с .NET-ориентированной темой.)
Вы можете использовать System.nanoTime()
, чтобы получить более точный таймер только для измерений - это не означает, что абсолютное время, это только для измерения интервалы .
Я не знаю ни одного способа получить более точное абсолютное время ни из Java, ни из Win32. Если честно, насколько точными будут системные часы? Даже при регулярной синхронизации с NTP-сервером я ожидаю погрешность в несколько миллисекунд.
По сути, если вы действительно рассчитываете абсолютное время, вам, вероятно, следует изменить свой дизайн.