Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать проверку и учет высокостного года при переводе из дней в дату?

VIktor Ученик (55), на голосовании 1 год назад
 function daysToDate(day) {
const years = Math.floor(day / 365);
const months = Math.floor((day % 365) / 30);
const days = day % 30;
console.log(years, months, days);
}

daysToDate(3000);
сам перевод работает корректно, но необходимо учитывать високосный год, как это сделать?Потому что ответ с онлайн калькулятором немного отличается, и чем больше дней перевожу тем больше разница в днях.Заранее спасибо
Голосование за лучший ответ
Оракул Оракул (62095) 1 год назад
А что отсчет с нулевого года ведется? Это же абстрактные дни в года. Какой нафиг високосный год) это же не даты
VIktorУченик (55) 1 год назад
а почему тогда ответы отличаются с калькулятором?)
Горбунов Роман Знаток (381) 1 год назад
day += Math.floor(day / 1460); //Учитывать сколько раз в количестве дней прошло по 1460 дней (4 года) и прибавить к количеству дней
Но такое ощущение что у вас изначально не правильно функция написана сравнения с калькулятором
VIktorУченик (55) 1 год назад
да, я чета забыл что в месяце не всегда 30 дней)
Похожие вопросы