Hallo,
ich verstehe nicht ganz, wie du das meinst, magst du mir das erklären? In Selfhtml lassen sich auch keine Funktionen zu den Kalenderwochen finden.
Stimmt. Da hab ich wohl Javascript mit PHP verwechselt. Folgendes hab ich zusammengebastelt. Scheint auch zu funktionieren, wobei ich mir da nicht sicher bin wie sich das ganze bei verschiedenen Zeitzonen, Sommerzeit usw. verhält.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var day = new Date();
day.setDate(1); //erster Tag des Monats
document.write("Der erste Tag dieses Monats:" + day.toLocaleString());
document.write("<br> Kalenderwoche:" + KalenderWoche(day));
day.setMonth(day.getMonth()+1); //erster Tag des nächsten Monats
day = new Date(day - 24*60*60*1000); //Minus 1 Tag
document.write("<br>Der letzte Tag dieses Monats:" + day.toLocaleString());
document.write("<br> Kalenderwoche:" + KalenderWoche(day));
function KalenderWoche(day) {
//teilweise aus dem Internet zusammengebastelt. Keine Ahnung, wie das Funktioniert. Find ich sehr schade, dass JS keine eingebaute Funktion zu haben scheint.
Datum = new Date(day);
var tag = Datum.getDay(); if (tag == 0) tag = 7;
var d = new Date(2004,0,1).getTimezoneOffset();
Datum.setTime(Number(Datum) - (tag-1)*86400000);
var Jahr = Datum.getYear(); if (1900 > Jahr) Jahr +=1900;
var kw = 1;
if (new Date(Jahr,11,29) > Datum) {
var Start = new Date(Jahr,0,1);
Start = new Date(Number(Start) + 86400000*(8-Start.getDay()));
if(Start.getDate() > 4) Start.setTime(Number(Start) - 604800000);
kw = Math.ceil((Datum.getTime() - Start) /604800000);
}
return kw;
}
</script>
</body>
</html>
Jonathan