Datum per JS prüfen ob es in der Zukunft liegt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datum per JS prüfen ob es in der Zukunft liegt

    Moin nochmals,

    da "Wahsaga" mein letztes Problem in kürzester Zeit gelöst hat hoffe ich das auch dieser Fall kein Problem darstellt.

    habe ein Formular mit Input-Feld für Datumseingabe.
    Ist es möglich per JS das Datum darauf zu prüfen ob es in der Zukunft liegt, sonst alert...return false ?

    In PHP schaut das ja in etwa so aus:
    $datum_jetzt = time();
    $datum_dann = explode(".",$myDate);
    $timestamp_dann = mktime(0,0,0,$datum_dann['tag'],$datum_dann['monat'],$datum_dann['jahr']);
    if($datum_jetzt > $timestamp_dann)
    {
    echo "Datum liegt in der Vergangenheit";
    }

    Aber das hätte ich gerne per JS mit einer Fehlermeldung, wenn es in der Vergangenheit liegt

  • #2
    Re: Datum per JS prüfen ob es in der Zukunft liegt

    Original geschrieben von evil_knievel
    da "Wahsaga" mein letztes Problem in kürzester Zeit gelöst hat hoffe ich das auch dieser Fall kein Problem darstellt.
    Wenn ich den Leuten hier mit Denkansätzen weiterhelfe, hoffe ich eigentlich darauf, dass sie beim nächsten Problem schon selber ein bisschen weiterkommen ...
    habe ein Formular mit Input-Feld für Datumseingabe.
    Ist es möglich per JS das Datum darauf zu prüfen ob es in der Zukunft liegt, sonst alert...return false ?
    Ja, das wäre möglich.
    Aber ich habe irgendwie nicht den Eindruck, als ob du dich schon selber bemüht hättest, auch nur ansatzweise einen Lösungsweg dafür zu finden.
    *seufz*, kommt wohl davon, wenn man die Leute zu sehr verwöhnt ...


    Also, was ergibt deine Recherche, wie man in Javascript mit einem Datum arbeiten kann ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Also versuche ich es mal:

      var heute = new Date();
      var jahr = heute.getYear();
      var monat = heute.getMonth()+1;
      var tag = heute.getDate();

      nu habe ich das aktuelle datum. Das eingegebene Datum lautet z.B. $meindatum und ist im Format dd.mm.yyyy

      Das müßte ich denn erstmal zerlegen (bei PHP explode)
      Dann in ein Timestamp umwandeln und vergleichen?
      Oder eventuell nur die reichenfolge ändern yyyy.mm.dd und dann vergleichen?

      Mit JS gehts halt einfach noch nicht so gut von der Hand

      Kommentar


      • #4
        Ich würde eher sagen, mit den Eingabedaten aus dem Formular erzeugst du dir ein neues Date()-Objekt, und vergleichst dieses dann mit dem aktuellen Date().
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Dir Frage ist nun: Wie erzeuge ich aus meinem Input Feld ein Date() objekt.

          Kommentar


          • #6
            Die Antwort ist nun: So, wie es selfhtml oder auch eine andere Javascript-Dokumentation deiner Wahl beschreibt.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Das hat mit bei meiner ersten Frage aber besser gefallen
              Aber vielleicht hilfst du mir ja nochmal. Bei Selfhtml werde ich nicht so richtig blickig. Habe mich für Variante 3 entschieden


              var heute = new Date();
              var jahr = heute.getYear();
              var monat = heute.getMonth()+1;
              var tag = heute.getDate();
              var jetzt = new Date(jahr,monat,tag);
              var arraydarum = explode(".",document.Auftrag.F18978.value);
              var meindatum = new Date(arraydarum[2], arraydarum[1], arraydarum[0]);
              if (meindatum < jetzt) {alert("Vergangenheit");}
              else if (meindatum = jetzt) {alert("OK, Jetzt");}
              else {alert("OK, Zukunft");}

              Nur funktionieren tut das natürlich nicht. Ich finde den Explode befehl nicht dokumentiert für JS.

              Help needed

              Kommentar


              • #8
                Noch nicht antworten, habe einen neuen Befehl gefunden. Split

                Kommentar


                • #9
                  So, meine Lösung sieht nun wie folgt aus:

                  var heute = new Date();
                  var jahr = heute.getYear();
                  var monat = heute.getMonth();
                  var tag = heute.getDate();
                  var jetzt = new Date(jahr,monat,tag);
                  var aaa=document.x.y.value;
                  var arraydatum = aaa.split(".");
                  var meindatum = new Date(arraydatum[2], arraydatum[1]-1, arraydatum[0]);
                  if (meindatum < jetzt)
                  {alert("Wunschdatum 1 liegt in der Vergangenheit");
                  document.x.y.focus();
                  return false;}



                  Und es funktioniert sogar

                  Kommentar

                  Lädt...
                  X