Вычитание дат
Приветствую.
Скажите, а есть какие то встроенные способы узнать что одна дата >= другой даты на например 10 лет. Чтобы без какого то ручника, типа считать количество дней или миллисекунд. Вот примерно как в php что я делаю: $res = isDateMoreThan10Diff( \DateTime::createFromFormat('d.m.Y', $date1), \DateTime::createFromFormat('d.m.Y', $date2), )); function isDateMoreThan10Diff(\DateTime $dateStart, \DateTime $dateEnd) { $interval = $dateStart->diff($dateEnd); $check = $interval->format('%r%y'); if (strpos($check, '-') === 0) { return false; } return (intval($check) >= 10) ? true : false; } И как лучше дату в js дату преобразовывать, в плагине она у меня в формате dd.mm.yyyy |
Цитата:
let d1 = '22.01.2007' let d2 = '25.05.2021' 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) |
Цитата:
|
А что за магическая величина 10000?
|
Цитата:
YYYYMMDD - если разделить такое число на 10000, ты и получишь свои года. |
Я сомневаюсь что дату можно так превращать в десятичное число и что то с ним делать.
Дни, месяцы и года - это не десятичная система счисления. |
Цитата:
Но мы с таким вариантом уже более 30 лет определяем возраст (в годах) и проблем не имели. |
Цитата:
Но ты можешь сомневаться сколько хочешь... :D |
Твое решение неверное.
В году никак не 10000 дней, и не 100 месяцев, чтобы так сравнивать "просто для сравнения" |
Цитата:
|
Часовой пояс GMT +3, время: 04:04. |