Обычно календарь юникса измеряется в секундах, и только в JS исключение с миллисекундами. Если там правда миллисекунды, может, тогда заменить целочисленное деление div на операцию с плавающей точкой /
Также хорошей практикой будет использовать по возможности не гражданский календарь, а монотонное время. В языке Ada это приложение к стандарту D.8 Monotonic Time, описывающее пакет
Ada.Real_Time. В Delphi тот же функционал спрятан в модуль с не очевидным названием
System.Diagnostics. Это если программа не перезапускается в течение всего интересующего интервала.