Я использую средство выбора даты, которое выдает дату в формате Вс 7 июля 00:00:00 ПО ВОСТОЧНОМУ ВРЕМЕНИ 2013. Несмотря на то, что месяц говорит о июле, если я выполняю getMonth, он дает мне предыдущий месяц.
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth());//gives 6 instead of 7
Что я делаю не так?
javascript
date
developer747
источник
источник
getYear()
!! ;-)Ответы:
Потому что getmonth () начинается с 0. Вы можете захотеть
d1.getMonth() + 1
достичь того, чего хотите.источник
d1.getMonth() < 12 ? d1.getMonth() + 1 : 1
- иначе будет 13 декабря, не так ли?getMonth()
функция основана на нуле. Вам нужно сделатьd1.getMonth() + 1
Недавно я использовал библиотеку Moment.js и никогда не оглядывался назад. Попытайся!
источник
Предполагая, что вы используете вашу переменную
Месяц требует +1, чтобы быть точным, он начинает считать с 0
В отличие от .... эти методы не нуждаются в плюс 1
И обратите внимание, это
.getDate()
не так.getDay()
Надеюсь это поможет
Я подозреваю, что этим методам не хватает последовательности по историческим причинам.
источник