MudGuard: Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Beitrag lesen

Hi,

Okay:

var d=row1col4Inhalt.split('.')

var z=new Date();
var t=new Date();

z.setDate(d[0]);
z.setMonth(d[1]-1);
z.setFullYear(d[2]);

  
Daß das nicht ganz stimmt, ist Dir aber hoffentlich klar ...  
  
Führe den Code heute aus mit dem Eingabestring "31.07.2006" und laß Dir am Ende das Datum ausgeben.  
Es kommt nicht der 31. Juli raus, sondern der 1. Juli.  
  
Warum?  
Ganz einfach:  
  

> var z=new Date();  
  
Das Datum ist jetzt der 11. April 2006  
  

> z.setDate(d[0]);  
  
Der Tag wird auf 31 gesetzt, also 31. April 2006. Gibt es nicht, der April hat ja nur 30 Tage, es kommt zum Überlauf, Javascript macht den 1. Mai draus.  
  

> z.setMonth(d[1]-1);  
  
Jetzt wird der Monat auf 6 (also Juli) gesetzt.  
  
z ist jetzt also der 1. Juli 2006  
  
Ähnlicher Effekt kann dann auch noch mit dem Jahr auftreten, wenn z.B. der 29. Februar betroffen ist.  
  
Besser:  
z = new Date(d[2], d[1]-1, d[0]);  
Hier werden die Werte gleichzeitig in ein neues Date-Object eingesetzt.  
  
cu,  
Andreas

-- 
[Warum nennt sich Andreas hier MudGuard?](http://www.Mud-Guard.de/)  
[Schreinerei Waechter](http://www.schreinerei-waechter.de/)  
[O o ostern ...](http://ostereier.andreas-waechter.de/)  
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.