Date.getDay() v JavaScriptu vrací špatný den
Mám takový javascriptový kód
alert(DATE.value);
var d = new Date(DATE.value);
var year = d.getFullYear();
var month = d.getMonth();
var day = d.getDay();
alert(month);
alert(day);
if(2012 < year < 1971 | 1 > month+1 > 12 | 0 >day > 31){
alert(errorDate);
DATE.focus();
return false;
}
vezměte například: DATE.value="11/11/1991"
když zavolám alert(day);, ukáže mi 3;
když zavolám alert(d);, vrátí mi to správné informace.
Odpověď č. 1
použijte .getDate místo .getDay.
Hodnota vrácená funkcí getDay je celé číslo odpovídající dni v týdnu: 0 pro neděli, 1 pro pondělí, 2 pro úterý a podobně.
Odpověď č. 2
getDay() vrací den v týdnu. Můžete však použít metodu getDate().
https://developer.mozilla.org/cs/docs/JavaScript/Reference/Global_Objects/Date/getDay
Odpověď č. 3
getDay() vám dá den v týdnu. Hledáte getDate().
Odpověď č. 4
Měl jsem podobný problém. date.getMonth() vrací index v rozmezí od 0 do 11. Leden je 0. Pokud vytvoříte nový objekt date() a chcete získat informace o vlastním datu, nikoliv o aktuálním, musíte snížit pouze měsíc o 1.
Takto:
function getDayName () {
var year = 2016;
var month = 4;
var day = 11;
var date = new Date(year, month-1, day);
var weekday = new Array("sunday", "monday", "tuesday", "wednesday",
"thursday", "friday", "saturday");
return weekday[date.getDay()];
}
