let date = new Date("2017-09-12T12:00:00");
console.log(date.getUTCMonth());
Здесь я ожидаю, что он будет регистрировать 09 в течение месяца, но регистрирует 08. Однако год, день, час и минута обрабатываются правильно. что здесь происходит? Как я могу извлечь 09 из указанной строки даты?
Значение getUTCMonth()
- это нулевое значение - ноль - январь.
Для получения дополнительной информации: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth
date.getUTCMonth()
возвращает месяц (от 0 до 11) за указанную дату.
Чтобы получить то, что вы ожидаете, добавьте 1.
Месяцы индексируются 0 в Javascript.
var date = new Date(date),
month = '' + (date.getMonth() + 1),
day = '' + date.getDate(),
year = date.getFullYear();
Для быстрого примера - как вы отформатируете его, если хотите отформатировать его в формате YYYY-MM-DD.