Javascript check Startdatum hinter Enddatum (ddmmyyyy)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Javascript check Startdatum hinter Enddatum (ddmmyyyy)

    Hi,

    sorry, ich komm mir echt vor wie der absolute Beginner.

    Ich möcht ganz gern checken, ob mein Startdatum hinter meinem Enddatum liegt.

    Die Datumsangaben liegen im Format dd.mm.yyyy vor, also "01.01.2006" z.B. ...

    Folgende Funktion habe ich geschrieben:

    Quellcode

    1. function checkDate(startdate, enddate) {
    2. var ddmmyyyy1 = startdate;
    3. var dd1 = ddmmyyyy1.substring(0,2);
    4. var mm1 = ddmmyyyy1.substring(3,5);
    5. var yyyy1 = ddmmyyyy1.substring(6,10);
    6. mmddyyyy1 = mm1 + '-' + dd1 + '-' + yyyy1;
    7. //alert(mmddyyyy1);
    8. var ddmmyyyy2 = enddate;
    9. var dd2 = ddmmyyyy2.substring(0,2);
    10. var mm2 = ddmmyyyy2.substring(3,5);
    11. var yyyy2 = ddmmyyyy2.substring(6,10);
    12. mmddyyyy2 = mm2 + '-' + dd2 + '-' + yyyy2;
    13. alert(enddate);
    14. var startD = Date.parse(mmddyyyy1);
    15. var endD = Date.parse(mmddyyyy2);
    16. if (startD > endD) {
    17. alert("Das Startdatum liegt hinter dem Enddatum! Bitte korregieren!");
    18. }
    19. }
    Alles anzeigen


    Ich konvertiere mein Datum in ein für Date.parse verständliches Format (sind ja dann Millisekunden) und schaue was größer ist.

    Funktioniert leider nicht ... vielleicht kann mir jemand auf die Sprünge helfen, eig. müsste das doch so gehen? Irgendwie kommen bei Date.parse nicht die korrekten Zeiten raus ... ???

    Danke!!
    Um Rekursionen zu verstehen, muss man zuerst Rekursionen verstehen...
  • die parse Funktion erwartet einen EingabeString in folgendem Format:
    Was du brauchst, ist die getDate Funktion..

    http://de.selfhtml.org/javascript/objekte/date.htm#get_date

    Quellcode

    1. function date2millisekunden(date) {
    2. var dd = eval(date.substring(0,2));
    3. var mm = eval(date.substring(3,5));
    4. var yyyy = eval(date.substring(6,10));
    5. var ddmmyyyy = new Date(yyyy, mm, dd);
    6. return ddmmyyyy.getTime();
    7. }
    8. function checkDate(startdate, enddate) {
    9. var startD = date2millisekunden(startdate);
    10. var endD = date2millisekunden(enddate);
    11. if (startD > endD)
    12. alert("Das Startdatum liegt hinter dem Enddatum! Bitte korrigieren!");
    13. }
    Alles anzeigen