Prynik
@Prynik

Почему new Date выдает не текущую дату?

У меня есть функция, которая прибавляет к текущей дате заданное количество лет
function dmyDateGenerator(offset, separator) {
    function stylizeDate (num) {
        return String(num).padStart(2, '0')
    }

    const DATE = new Date()

    DATE.setFullYear(DATE.getFullYear() + offset)

    let d = stylizeDate(DATE.getDay())
    let m = stylizeDate(DATE.getMonth())
    let y = stylizeDate(DATE.getFullYear())

    return String(d + separator + m + separator + y)
}


Затем я вызываю ее дважды
const DATE_START = dmyDateGenerator(0, '.')
    const DATE_END = dmyDateGenerator(3, '.')

    console.log('DATE_START', DATE_START)
    console.log('DATE_END', DATE_END)


Результаты в консоли выглядят вот так
DATE_START 05.11.2020
DATE_END 01.11.2023


DATE_START - это текущая дата дата со смещением на 0 лет вперед, почему она не совпадает с текущей? Сегодня 04.12.2020 (дата на моей локальной машине)

И почему если я начну прибавлять года от даты 03.12.2020 DATE_END будет равно 00.10.2023 (почему в начале 2 нуля)
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
Потому, что вы используете getDay вместо getDate
Метод getDay() возвращает порядковый номер дня недели указанной даты по местному времени, где 0 соответствует воскресенью.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Anonimmus
Хотел пошутить что у компа своя эра от рождества макинтоша)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы