Цитата:
Вместо голословных утверждений начинай тестировать. ;) Попробуй найти пример где разность дат, таким образом, покажет не правильное количество лет. Или даст не правильное сравнение по годам. Вот если найдешь такие даты (хоть одну пару) - тогда и будешь надувать щеки и обвинять меня в не верных алгоритмах. |
micscr,
следите за руками, задача узнать что больше ли текущее время, 9 часов 10 минут(для примера) 10 часов. классика: вычислить минуты 9 * 60 + 10 и 10 * 60, 550 < 600, меньше а можно так 9.1 < 10 и тот же результат. |
Цитата:
let d1 = '29.02.2008' let d2 = '28.02.2018' const re = /(\d\d)\.(\d\d)\.(\d+)/ d1 = d1.replace(re,'$3$2$1') d2 = d2.replace(re,'$3$2$1') const val = (d2 - d1) / 10000 alert(val >= 10) //false... Но вообще я понял это трюк, что годами с хвостиками играть. Из кода я сразу этого не понял, сам уже давно просто чистый код пишу, где переменные сами за себя говорят |
Цитата:
|
Цитата:
alert(150000 / 10000) Т.е. не всегда при делении на 10000 будет (ожидаемое) целое число. Т.ч. нужно правильно округлять результат деления. Хотя, может при именно делении на число кратное 10 проблем не будет... |
Ты прав, для операции вычитания дат тут вроде все окей, это по сути реализация алгоритма сравнения: год-год, месяц-месяц, день-день.
|
Часовой пояс GMT +3, время: 03:14. |