Javascript получает текущий день и месяц выпуска

Используя javascript-код ниже, я получаю месяц = ​​3, день = 5, y = 2014. Конечно, я ожидаю 4-й и 18-й день.

var TodayDate = new Date();
var d = TodayDate.getDay();
var m = TodayDate.getMonth();
var y = TodayDate.getFullYear();

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

Ответ 1

вам нужно использовать getMonth() + 1 для получения месяца (основанный на нулевом индексе), потому что реализация javascript следовала за JAVA, и именно так это java.util.Date.

getDay() - дает вам 5 на сегодня пятницу (6-й день недели. воскресенье 0 до субботы 6)

getDate() - дает вам 18 (сегодня дата)

Ответ 2

это getDate() не getDay()

var d = TodayDate.getDate();  //it returns the date 
var m = TodayDate.getMonth()+1; //returns the index of the month array
                                //for our convenience we add 1 to it

month в Date объект - это array, начинающийся с 0 -11 (Jan начиная с 0 и заканчивает dec 11)

FYI:

getDay() - возвращает день (т.е. в пятницу с номером 5) = > Солнце начинается с 0, а Sat заканчивается на 6 [Опять же, массив]