Marko: Datum in IE und NS verschieden!

Hallo,

Ich habe mir einen Kalender gemacht, der in IE soweit auch gut funktioniert, doch im NS ist alles irgendwie verschoben. Ich dachte zuerst, dass sei ein Programmierfehler, doch ich stellte fest, dass andere Kalender das gleiche Problem hatten. Was kann ich tun?
Hier mein Script (Ich hab es gerade nirgends geladen):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Calendar</title>
</head>
<body>
<h5>Calendar</h5>
<center>
<script language="Javascript" type="text/javascript">
<!--
/************************************
(c) Copyright, Marko Bencun, 2001
E-Mail: MBencun@web.de
Homepage: http://de.geocities.com/tripple0_6
Diesen Vermerk bitte stehen lassen!
************************************/
d=new Date();
y=d.getYear();
tag=d.getDate();
m=d.getMonth();
gfdom=new Date(y,m,1);
fd=gfdom.getDay(); // Erster Tag im Monat
fd=(fd==0) ? 7 : fd;
t=new Array("Mo","Di","Mi","Do","Fr","Sa","So"); // Tage
monate=new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"); // Monate
tim=new Array(31,0,31,30,31,30,31,31,30,31,30,31); // Anzahl Tage der Monate
if((y%4)==0) { // Schaltjahrfeststellung
tim[1]=29;
}
else {
tim[1]=28;
}

// Schreibt die Tabelle
document.write("<table border=0 cellpadding=-5 cellspacing=0 bgcolor='darkblue'><tr><td><table border=0 cellpadding=1 cellspacing=2 bgcolor='darkblue'>");
document.write("<tr>");
document.write("<td bgcolor='#99ccff' align=center colspan=7>"+tag+" "+monate[m]+" "+(String(y).substring(String(y).length-2,String(y).length))+"</td>"); // Überschrift
document.write("</tr>");
document.write("<tr>");
for(i=0;i<t.length;i++) {
document.write("<td bgcolor='#99ccff' bgcolor='#99ccff' width=10%>"+t[i]+"</td>"); // Tage
}
document.write("</tr>");
document.write("<tr>");
for(i=0;i<(fd-1);i++) { // Füllt die ersten leeren Felder aus
document.write("<td bgcolor='#99ccff' bgcolor='#99ccff' width=10%> </td>");
}
for(i=1;i<(7-(fd-2));i++) { //Füllt die erste Zeile bis zum Schluss auf
if(i==tag) { // Aktuellen Tag markieren
document.write("<td bgcolor='lightyellow' width=10%>"+i+"</td>");
}
else {
document.write("<td bgcolor='#99ccff' width=10%>"+i+"</td>");
}
}
document.write("</tr>");
ab=(7-(fd-2));
wa=1;
function wr(vw,bd) {
document.write("<tr>");
for(i=vw;i<bd;i++) {
wa=i;
if(i==tag) {
document.write("<td bgcolor='lightyellow' width=10%>"+i+"</td>");
}
else {
document.write("<td bgcolor='#99ccff' width=10%>"+i+"</td>");
}
if(i==(ab+6)) { ab+=7; document.write("</tr>"); wr(ab,tim[m]+1); break;  // Wenn eine Zeile vollendet ist, bricht es die Schleife ab und started die Funktion mit neuen Werten neu
}
}
}
wr(ab,tim[m]+1);
document.write("</table></td></tr></table>");
//-->
</script>
</center>
</body>
</html>

Danke vielmals,

Marko

  1. Der NS rechnet das Jahr anders: inzwischen 3stellig!
    Und zwar so: 4stelligesJahr-1900
    2001-1900 = 101
    Siehe
    http://www.bitwelt.de/javascript/sonstiges/jahr2000.htm
    Ich hoffe, das hilft weiter.
    Dort findest Du jede Menge Datumsfunktionen.