Date.getDay() javascript geeft verkeerde dag terug

Hallo, ik ben nieuw in javascript
Ik heb zo’n javascript-code

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;
}

neem bijvoorbeeld: DATE.value = "11/11/1991"

wanneer ik alert(day);bel, wordt 3weergegeven;
als ik alert(d);aanroep, krijg ik de juiste info terug.


Antwoord 1, autoriteit 100%

gebruik .getDatein plaats van .getDay.

De waarde die wordt geretourneerd door getDay is een geheel getal dat overeenkomt met de dag van de week: 0 voor zondag, 1 voor maandag, 2 voor dinsdag, enzovoort.


Antwoord 2, autoriteit 5%

getDay()retourneert de dag van de week. U kunt echter de methode getDate()gebruiken.

https://developer.mozilla.org/ nl-US/docs/JavaScript/Reference/Global_Objects/Date/getDay


Antwoord 3, autoriteit 4%

getDay()geeft je de dag van de week. U zoekt naar getDate().


Antwoord 4, autoriteit 2%

Ik had een soortgelijk probleem. date.getMonth()retourneert een index variërend van 0 to 11. Januari is 0. Als u een nieuw date()-object maakt en u wilt informatie krijgen over een aangepaste datum die niet de huidige is, dan hoeft u alleen de maand met 1te verlagen.

Zoals dit:

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()];
}

Antwoord 5

Vanaf nu wilt u waarschijnlijk de volgende functies gebruiken voor Date-objecten:

   function dayOf(date)
    {
        return date.getDate();
    }
    function monthOf(date)
    {
        return date.getMonth() + 1;
    }
    function yearOf(date)
    {
        return date.getYear() + 1900;
    }
    function weekDayOf(date)
    {
        return date.getDay() + 1;
    }
    var date = new Date("5/15/2020");
    console.log("Day: " + dayOf(date));
    console.log("Month: " + monthOf(date));
    console.log("Year: " + yearOf(date));

Snippet uitvouwen


Antwoord 6

function formatDate(date, callback)
{
var weekday = new Array("Sunday", "Monday", "Tuesday", "Wednesday",     "Thursday", "Friday", "Saturday");
var day = weekday[date.getDay()];
console.log('day',day);
var d = date.getDate();
var hours = date.getHours();
ampmSwitch = (hours > 12) ? "PM" : "AM";
if (hours > 12) {
    hours -= 12;
}
else if (hours === 0) {
    hours = 12;
}
var m = date.getMinutes();
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var month = months[date.getMonth()];
var year = date.getFullYear();
newdate = day + ', ' + month + ' ' + d + ',' + year + ' at ' + hours + ":" + m + " " + ampmSwitch
callback(newdate)
}

en bel met deze code

date="Fri Aug 26 2016 18:06:01 GMT+0530 (India Standard Time)"
formatDate(date,function(result){
   console.log('Date=',result);
 });

Antwoord 7

Als je de functie .getDay() gebruikt, houdt deze rekening met het begin van het maandnummer in 0 en niet in 1, en als je de date new Date (2021-11-04) gebruikt, zal de functie .getDay() denk aan dag 4 van december en niet aan november…

Vervolgens, om de dag 4 van november te krijgen, moet je “2021-10-04” doorgeven aan de Date()-klasse.

Other episodes