Подтвердить что ты не робот

GetMonth в javascript дает в прошлом месяце

Я использую datepicker, который дает дату в формате Sun Jul 7 00:00:00 EDT 2013. Хотя месяц говорит в июле, если я делаю getMonth, он дает мне предыдущий месяц.

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth());//gives 6 instead of 7

Что я делаю неправильно?

4b9b3361

Ответ 1

Потому что getmonth() начинается с 0. Вам может потребоваться d1.getMonth() + 1 для достижения желаемого.

Ответ 2

getMonth() функция основана на нулевом индексе. Вам нужно сделать d1.getMonth() + 1

Недавно я использовал Moment.js и никогда не оглядывался назад. Попробуйте!

Ответ 3

Предполагая, что вы используете свою переменную

var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");

Месяц требует, чтобы +1 был точным, он начинается с 0

d1.getMonth() + 1 // month 

В отличие от.... этим методам не требуется плюс 1

d1.getSeconds()   // seconds 
d1.getMinutes()   // minutes 
d1.getDate()      // date    

И обратите внимание, что это .getDate() НЕ. getDay()

d1.getDay()       // day of the week as a 

Надеюсь, это поможет

Я подозреваю, что этим методам не хватает последовательности по историческим причинам.