Я пишу простой таймер на Java.Он имеет кнопки «Пуск» и «Стоп», а также текстовое представление, показывающее, сколько времени прошло с момента запуска таймера.
Он реализован путем установки начального времени с помощью System.currentTimeMillis()
и обновления текущего значения каждую секунду в цикле.
Проблема в том, что, если я изменяю системное время во время работы таймера, все измерения не пройдены.Например, если я установил время на один месяц назад, таймер отобразит отрицательное значение, так как currentTimeMillis()
теперь возвращает меньшее значение, чем начальное.
Итак, как рассчитать дельту времени, которая не будет зависеть от системного времени?Также было бы здорово сделать это решение кроссплатформенным.