как вычислить разницу между двумя датами в месяцах на javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 декабря 2024

Чтобы вычислить разницу между двумя датами в месяцах на JavaScript, вам нужно учитывать несколько факторов, таких как разница в годах и месяцах, а также дни, чтобы определить, нужно ли округлять результат. Пример кода:

function monthDifference(date1, date2) {
    // Преобразуем строки в объекты Date
    const startDate = new Date(date1);
    const endDate = new Date(date2);

    // Получаем год и месяц для каждой даты
    const startYear = startDate.getFullYear();
    const startMonth = startDate.getMonth();
    const endYear = endDate.getFullYear();
    const endMonth = endDate.getMonth();

    // Вычисляем разницу в месяцах
    let monthDiff = (endYear - startYear) * 12 + (endMonth - startMonth);

    // Проверяем дни
    if (endDate.getDate() < startDate.getDate()) {
        monthDiff--;
    }

    return monthDiff;
}

// Пример использования
const date1 = '2022-03-15';
const date2 = '2023-01-10';
console.log(monthDifference(date1, date2)); // Вывод: 9
0 0