new Date klappt irgendwie nicht

WaZZkeSS

Erfahrenes Mitglied
Hallo,

also irgendwie verstehe ich da was nicht.
Eigentlich will ich zu einem Datum anzahl x Monate dazu geben und vergleichen ob es das aktuelle Datum übersteigt.

Habe dazu einen date-string mit folgenden value (17.12.2014 20:47:00).
Dann noch eine var für den aktuellen Datum
Code:
var spcDAT = obj["Datum"].split(" ")[0].split("."); //Wert: 17.12.2014 20:47:00
var curDAT = new Date();
Um es besser zu vergleichen werden daraus erneute DateObjekte.
Die Variable "month" beinhaltet je nach unterschiedliche Werte.
Code:
// Funktioniert, richtiges Datum
var helper1 = new Date(curDAT .getFullYear(), curDAT .getMonth(), curDAT .getDate());
OUTPUT -> Thu Dec 18 00:00:00 UTC+0100 2014


// Funktioniert, falsches Datum
var dat1 = new Date(spcDAT [2], spcDAT [1], spcDAT [0]);
OUTPUT -> Fri Jul 17 00:00:00 UTC+0200 2015

// Danach sollte es irgendwie so weiter gehen. 
// Zum Datum die Monate dazu geben und danach vergleichen
var helper2 = new Date(dat1 .getFullYear(), dat1 .setMonth(dat1 .getMonth() + month, dat1 .getDate());

if (helper1 < helper2){
    // code
}

Kann mir eine bitte erklären warum beim zweiten der Datumswert auf 17.07.2015 steht obwohl es eigentlich 17.12.2014 sein sollte.
Bedanke mich im vorhinein und wünsche noch einen schönen Abend.


Lg
WaZZ
 
Hy

und danke für deine Antwort, das ist mir schon bewusst und habs auch schon probiert.
Das erklärt die Problematik leider nicht.

mit - 1 kommt dann
OUTPUT -> Fri Jun 17 00:00:00 UTC+0200 2015

Hier der Demo in jsfiddle
http://jsfiddle.net/62y9hwsa/


Lg
WaZZ
 
Zuletzt bearbeitet:
Hallo ComFreek,

auch du bist einen Schritt zu weit.
Das mit dem SetMonth ist nicht das Problem sondern der falscher Datumswert.
ich brauche zuerst mal die richtigen Daten damit ich setMonth verwenden kann.

Ziel ist so einfach das klingt den richtigen Datumswert zu bekommen wenns eh mit new deklariert wird.
Deine Links verweisen auf Seiten die setMonth behandeln, hierbei gleube ich das mein Code reicht.

Hier jsfiddle demo des Problems
http://jsfiddle.net/62y9hwsa/


Lg
WaZZ
 
... im jsfiddle Code sieht man die richtige Reihenfolge jedoch das falsche Ergebnis.
Un achtet mal auf das Jahr (1923 statt 2014).
Also irgendwas kann da nicht stimmen.
Wie werden die übergeben Jahres- Monats- und Tagesewerte in JS verarbeitet?
Das kann doch nicht sein wenn der Konstruktor (Year, Month, Day) erwartet und komplett was anderes zurückgibt.

Lg
WaZZ
 
danke für den fiddle-snipp.
In meinem obigen Beitrag habe ich das Datum wie folgt (auch so in meinem Code) angegeben
17.12.2014
im fiddle hab ichs im Array wie folgt angegeben
2014.12.17

Bisschen durcheinander gekommen, was für eine Blamage.
Aber trotzdem danke für die Zahlreichen Antworten und Links.

Lg und schönen Abend noch.
WaZZ
 

Neue Beiträge

Zurück