Ответ 1
Потому что getmonth() начинается с 0. Вам может потребоваться d1.getMonth() + 1
для достижения желаемого.
Я использую 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
Что я делаю неправильно?
Потому что getmonth() начинается с 0. Вам может потребоваться d1.getMonth() + 1
для достижения желаемого.
getMonth()
функция основана на нулевом индексе. Вам нужно сделать d1.getMonth() + 1
Недавно я использовал Moment.js и никогда не оглядывался назад. Попробуйте!
var d1 = new Date("Sun Jul 7 00:00:00 EDT 2013");
d1.getMonth() + 1 // month
d1.getSeconds() // seconds
d1.getMinutes() // minutes
d1.getDate() // date
.getDate()
НЕ. getDay()
d1.getDay() // day of the week as a
Я подозреваю, что этим методам не хватает последовательности по историческим причинам.