#1 5. Mai 2013 Datum berechnen Moin, Lese von einem input field ein Datum heraus. Z.B. 25.5.2013(d,m,y). Übergebe diesen Wert einer JavaScript Funktion. Code: function add_value1(this_value1) { split = this_value1.split("."); this_value1 = split[1] + '.' + split[0] + '.' + split[2]; someDate = new Date(this_value1); var numberOfDaysToAdd = 8; var newDate = new Date(); var dd = newDate.setDate(someDate.getDate()+numberOfDaysToAdd); var mm = someDate.getMonth() + 1; var y = someDate.getFullYear(); someFormattedDate = dd + '.'+ mm + '.'+ y; document.getElementById('enddatum').value = someFormattedDate; } Als Resultat erhalte ich 1370164225765.5.2013 Eingabe war 25.5.2013. Wie kann ich die Tage richtig berechnen?thx + Multi-Zitat Zitieren
#2 5. Mai 2013 Zuletzt bearbeitet: 5. Mai 2013 AW: Datum berechnen Du musst natürlich erstmal das Date-Object auf den neuen Tag setzen und dann per newDate.getDate() den tag in die variable "dd" setzen. Du musst natürlich auch darauf achten das du den Monat und das Jahr ebenfalls von newDate beziehst und nicht von someDate. Code: function add_value1(this_value1) { var split = this_value1.split("."); var this_value1 = split[1] + '.' + split[0] + '.' + split[2]; var someDate = new Date(this_value1); var numberOfDaysToAdd = 8; var newDate = new Date(); newDate.setDate(someDate.getDate()+numberOfDaysToAdd); var dd = newDate.getDate(); var mm = newDate.getMonth() + 1; var y = newDate.getFullYear(); var someFormattedDate = dd + '.'+ mm + '.'+ y; document.getElementById('enddatum').value = someFormattedDate; } 1 Person gefällt das. + Multi-Zitat Zitieren
#3 5. Mai 2013 AW: Datum berechnen Und vor allem musst du darauf achten alle Variablen mittels "var" zu deklarieren + Multi-Zitat Zitieren
#4 8. Mai 2013 AW: Datum berechnen ok danke. alles umgesetzt, alles funktioniert. + Multi-Zitat Zitieren
#5 15. Mai 2013 AW: Datum berechnen Habe die Funktion nun wie folgt angepasst: Code: function add_value1(this_value1) { var kaufdatum = document.getElementById('kaufdatum').value; var split_kaufdatum = kaufdatum.split("."); kaufdatum = split_kaufdatum[1] + '.' + split_kaufdatum[0] + '.' + split_kaufdatum[2]; kaufdatum = new Date(kaufdatum); var numberOfDaysToAdd = 182; kaufdatum.setDate(kaufdatum.getDate()+numberOfDaysToAdd); var dd = kaufdatum.getDate(); var mm = kaufdatum.getMonth() + 1; var y = kaufdatum.getFullYear(); var enddatum = dd + '.'+ mm + '.'+ y; document.getElementById('enddatum').value = enddatum; } Die Berechnung funktioniert nur im Chrome. Im IE und Firefox gibt es als Enddatum den Wert 'NaN.NaN.NaN' zurück. Die Funktion wird im php file wie folgt aufgerufen: Code: <input type="radio" name="abo_dauer" id="abo_dauer" value="180" onChange="add_value1(this.value)">1/2 Jahres Woran kann das liegen? thx + Multi-Zitat Zitieren
#6 15. Mai 2013 AW: Datum berechnen Scheint als ob nur Chrome mit deinem Datum-Format klar kommt. Code: // YYYY-MM-DD kaufdatum = split_kaufdatum[2] + '-' + split_kaufdatum[1] + '-' + split_kaufdatum[0]; + Multi-Zitat Zitieren
#7 15. Mai 2013 AW: Datum berechnen Alternativ mal probieren mit .setDate() .setMonth() und .setFullYear() anstatt das Datum als string zu parsen. + Multi-Zitat Zitieren