Date.getDay() Javascript gibt falschen Tag zurück

Lesezeit: 3 Minuten

Benutzer-Avatar
Aleksej Bulgak

Hallo, ich bin neu in Javascript. Ich habe einen solchen 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;
}

nimm zum Beispiel: DATE.value = "11/11/1991"

wenn ich anrufe alert(day); es zeigt mir 3;
wenn ich anrufe alert(d); Es gibt mir korrekte Informationen zurück.

  • War Montag…

    – gdoron unterstützt Monica

    13. November 2012 um 10:50 Uhr

verwenden .getDate Anstatt von .getDay.

Der von getDay zurückgegebene Wert ist eine ganze Zahl, die dem Wochentag entspricht: 0 für Sonntag, 1 für Montag, 2 für Dienstag und so weiter.

  • Wirklich dumm, dass der Designer dieser Funktion sie nicht getDayOf Week genannt hat. Nein, das wäre zu offensichtlich gewesen.

    – Johannes

    27. Januar 2014 um 11:06 Uhr

  • @AndroidDev Ich stimme zu! Außerdem mit .getDate man würde erwarten, dass das vollständige Datum zurückgegeben wird, nicht nur der Tag.

    Benutzer3717756

    25. August 2014 um 8:33 Uhr


  • Hier ist mehr: Die Funktion getMonth gibt eine Ganzzahl von 0 bis 11 zurück, wobei 0 für Januar und 11 für Dezember steht. Sie müssen da drüben ein schweres Zeug rauchen

    – Taralax

    21. Juli 2016 um 21:04 Uhr

  • Hier ist NOCH mehr: getYear() tatsächlich das Jahr minus 1900 !

    – Guilhem Fry

    5. September 2017 um 16:47 Uhr


  • Völlig inkongruentes Design ~ Date.getYear() okay, Date.getMonth() okay, Date.getDate() what?

    – Edward J. Beckett

    20. August 2019 um 16:35 Uhr

getDay() gibt den Wochentag zurück. Sie können jedoch die verwenden getDate() Methode.

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

getDay() gibt Ihnen den Wochentag. Du suchst nach getDate().

Ich hatte ein ähnliches Problem. date.getMonth() gibt einen Index im Bereich von zurück 0 to 11. Januar ist 0. Wenn Sie eine neue erstellen date()-Objekt und Sie möchten Informationen über ein anderes als das aktuelle Datum erhalten, müssen Sie nur den Monat verringern 1.

So was:

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

Von nun an möchten Sie wahrscheinlich die folgenden Funktionen für Datumsobjekte verwenden:

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

Benutzer-Avatar
Alex

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

und rufen Sie mit diesem Code an

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

Benutzer-Avatar
Filip Maciel

Wenn Sie die Funktion .getDay() verwenden, berücksichtigt diese, dass die Monatszahl bei 0 und nicht bei 1 beginnt. Wenn Sie dann das Datum new Date(2021-11-04) verwenden, berücksichtigt die .getDay()-Funktion der Tag 4 im Dezember und nicht im November …

Um dann den 4. November zu erhalten, müssen Sie “2021-10-04” an die Klasse Date() übergeben.

  • Wie Ash unten erwähnte, „getDay() gibt Ihnen den Wochentag. Sie suchen nach getDate().“

    – timcour

    7. Dezember 2021 um 4:11 Uhr

1016770cookie-checkDate.getDay() Javascript gibt falschen Tag zurück

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy