| 

.NET C# Java Javascript Exception

1
Ich habe ein Datum im Format
dd.mm.YYYY

Zu diesem Datum (Das bekomme ich als string) will ich einen Tag addieren. Das Ausgabeformat ist das gleiche. Das dürfte doch in einem Einzeiler zu lösen sein. Hat jemand schnell einen Schnipsel, bevor ich die ganze Referenz durchlesen muss?
News:
28.03.2011
Gast
11 1 1 2
3 Antworten
1
Erstmal musst du dein Datum parsen, d.h. Tag (dd), Monat (mm), Jahr (YYYY) ermitteln (Stringfunktionen), dann kannst du wie folgt ein Datum erzeugen:
myDate = new Date(YYYY,mm,dd);

Dann kannst du einen Tag addieren:
//add a day to the date
myDate.setDate(myDate.getDate() + 1);
28.03.2011
Jürgen Luhr 7,1k 1 9
Funktioniert das auch beim Monatswecksel? Also wenn ich beim 31.1.2011 ein +1 mache? Ich glaube nicht!
Floyd 28.03.2011
Der Glaube hilft nicht weiter.
Ausprobieren:
<script language="JavaScript" type="text/javascript">
myDate = new Date(2011,1,28);
myDate.setDate(myDate.getDate());
document.writeln(myDate);
myDate.setDate(myDate.getDate()+1);
document.writeln(myDate);
</script>
Jürgen Luhr 28.03.2011
1
warum sollte das nicht funktioneren? wenn der datentyp ein wirkliches datum liefert kann er auch sicher richtig einen tag addieren!
nabuchodonossor 28.03.2011
1
Getestet und es Funktioniert: http://jsfiddle.net/DcEa8/1/ - Nehm also alles zurück :D
Floyd 28.03.2011
@Nab: es ist JavaScript .. da von Good-Will-Fall auszugehen ist sehr gefährlich.
Floyd 28.03.2011
1
jsfiddle -> coole Seite
Ich hatte mir das Script in eine HTML-Seite eingebaut.
Jürgen Luhr 28.03.2011
0
Das folgende JavaScript enthällt einen Nachbau der VB-Funktionen IsDate, DateDiff und vorallem DateAdd:

http://slingfive.com/pages/code/jsDate/jsDate.html

Hier die DateAdd-Referenz aus der MSDN: MSDN - DateAdd

Beispiel:

var oldDate = new Date(2005,12,31);
var newDate = Date.DateAdd('d', 1, oldDate);
28.03.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
0
Folgendermaßen:
var firststring = "01.02.2003"; // Originalstring
var olddate = firststring.split('.');
var myDate = new Date(olddate[2],olddate[1],olddate[0]);
myDate.setDate(myDate.getDate() + 1);
var date = (myDate.getDate().toString().length < 2) ? '0' + myDate.getDate() : myDate.getDate();
var month = (myDate.getMonth().toString().length < 2) ? '0' + myDate.getMonth() : myDate.getMonth();
var secondstring = date + '.' + month + '.'+ myDate.getFullYear(); // String mit addierem Datum
29.03.2011
johny7 521 1 8

Stelle deine Javascript-Frage jetzt!