У меня проблемы с пониманием того, что вы написали.86400 - это количество секунд в дне.Так что, если у вас есть время в секундах, и вы хотите время дня, то по модулю 86400 имеет смысл.Поскольку ваш вопрос начинается со времени в миллисекундах, по модулю 86400000 будет более подходящим.Но я полагаю, что мы получаем идею в любом случае.
Так что, как я уже сказал, извлечение времени дня работает так, как вы знаете количество секунд в дне.Количество секунд в году сложнее, так как вам приходится иметь дело с високосными днями.Вы можете взглянуть на существующие реализации стандартной библиотеки, например, Python datetime .Это начинается с того, что мы берем время (или, точнее, количество дней, то есть время, деленное на время в течение дня, независимо от единицы измерения) по модулю 400 лет, поскольку число целых дней в 400 лет является фиксированным.Затем он продолжает рассматривать 100-летние циклы, 4-летние циклы и годы, с учетом различий в случае високосных лет, а также таблицы, содержащие информацию о продолжительности месяца и т. Д.Да, это можно сделать, но это утомительно и уже входит в стандартные библиотеки для большинства языков.