Как вычислить точную разницу между датами в годах на Java Script? Как определить точную разницу в годах между текущей датой и датой в формате "0000-00-00 00:00:00". На PHP это решается просто:DateTime::createFromFormat("Y-m-d H:i:s", '2014-09-12 00:00:00')
->diff(new DateTime('now'))
->y;
Есть подобное элегантное решение на Java Script?

21 Авг 2019 в 06:30
268 +1
0
Ответы
1

Да, на JavaScript можно использовать объекты Date для вычисления разницы между датами. Вот пример как это можно сделать:

function getYearDifference(dateString) {
var date = new Date(dateString);
var currentDate = new Date();
var yearsDiff = currentDate.getFullYear() - date.getFullYear();
if (currentDate.getMonth() < date.getMonth()) {
yearsDiff--;
} else if (currentDate.getMonth() == date.getMonth()) {
if (currentDate.getDate() < date.getDate()) {
yearsDiff--;
}
}
return yearsDiff;
}
console.log(getYearDifference('2014-09-12 00:00:00'));

Этот код сначала создает объекты Date для текущей даты и для переданной даты. Затем он сравнивает годы и, если текущая дата меньше, чем переданная дата по месяцу или дню, уменьшает разницу на 1 год. Наконец, функция возвращает точную разницу в годах между двумя датами.

Обратите внимание, что при создании объекта Date из строки даты, учтите формат строки даты, он должен быть распознаваемым объектом Date.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир