2015-03-27 8 views
-2

Что-то действительно прочь о моем сценарии ..день недели - Javascript

//Day of the Week 
    checkDate = "03/18/15"; 
    year = checkDate.substr(6,2); 
    month = checkDate.substr(0,2); 
    day = checkDate.substr(3,2); 

    var d = new Date("20"+year, month, day); 

    var weekday = new Array(7); 
    weekday[0]= "Sunday"; 
    weekday[1] = "Monday"; 
    weekday[2] = "Tuesday"; 
    weekday[3] = "Wednesday"; 
    weekday[4] = "Thursday"; 
    weekday[5] = "Friday"; 
    weekday[6] = "Saturday"; 

    var n = weekday[d.getDay("20"+year, month, day)]; 
    //RESULT: Sat Apr 18 2015 00:00:00 GMT-0500 (Central Daylight Time) 

Когда я кладу в 03/18/15 .. какой-то причине он возвращается апреля. Если я положил 04/14/15, он вернется в мае. Его всегда на месяц раньше времени. Почему это? Что-то в моем коде?

+0

Что значит минимум? – user4713659

+1

Я имею в виду, что когда вы выбираете теги для своих вопросов, тег * самого первого тега *, который вы добавляете, должен быть для используемого вами языка. ** Минимальные метки должны содержать тег для языка **; вы можете добавить дополнительные теги, которые, по вашему мнению, актуальны. –

+0

Извините, не знаю, почему это проскользнуло мне. Его в javascript. Я отредактировал его. – user4713659

ответ

2

Месяцы в JavaScript основаны на нулевом значении. Так что январь является 0, Февраль 1, ...

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

легко исправить было бы просто вычесть одно из значения месяца вы получите.

+0

Думаю, я просто сделаю это. Спасибо. – user4713659

Смежные вопросы