Neues Datum berechnen mit JavaScript

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

  • Neues Datum berechnen mit JavaScript

    Hoffe einer kann mir helfen.
    Im folgenden JavaScript wird ein Datum in das Textfeld "datum" eingetragen. Von dem Datum wird mit einem Wert (rot markiert) ein neues Datum ausgerechnet und in das Textfeld "newdatum" eingetragen.
    Läuft auch wunderbar.

    Nun zu meinem Problem, ich möchte nun, das er die zu berechnende Tage nicht von einem festen Wert nimmt sondern aus dem Textfeld "tage".
    Meine versuche sind immer damit gescheitert das ich eine falsche Berechnung des neuen Datums hatte.
    Eventuell kann es eine von euch so umbauen das es richtig läuft.


    Code:
    <html><head><title>Test</title>
    <script type="text/javascript">
    function calcDate(intDays, objInput){
      var arrDate = objInput.value.split(".");
      var dateNew = new Date(parseInt(arrDate[2]), parseInt(arrDate[1]), (parseInt(arrDate[0])+intDays));
      with(dateNew){
        objInput.form.newdatum.value = getDate()+"."+getMonth()+"."+getFullYear();
      }
    }
    </script>
    </head><body>
    <form name="datum" action="" method="">
      <div><input type="text" name="datum" onBlur="calcDate([COLOR=red][SIZE=16]6[/SIZE][/COLOR], this);" value="23.02.2005" /></div>
      <div><input type="text" name="tage" value="" /></div>
      <div><input type="text" name="newdatum" value="" /></div>
    </form>
    </body></html>

  • #2
    Mir ist noch ein fehler leider aufgefallen.
    Bei der berechnung über ein Monat berechnet er falsch.

    z.B. 28.11.2008 + 6 = 3.0.2009

    Warum? Wo hab ich da noch ein fehler?

    Kommentar


    • #3
      Joa Du machst einen Fehler und zwar beginnen bei den JS Date Funktionen die Monate mit 0, heisst Januar entspricht 0 und nicht 1 wie Du annimmst...
      daher musst Du IMHO
      parseInt(arrDate[1])-1
      respektive
      getMonth()+1
      verwenden
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        ich danke dir, das ich da nicht selber drauf kamm.

        Hat noch wer eine lösung für mein erstes prob?

        Kommentar


        • #5
          Original geschrieben von Vampir20
          Hat noch wer eine lösung für mein erstes prob?
          Erst mal waere es erforderlich, dass du es vernuenftig beschreibst/
          "Meine versuche sind immer damit gescheitert" ist keine hilfreiche Auskunft.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar

          Lädt...
          X