Wir nehmen als Datum den von Dir vorgeschlagenen
24.12.2050
Zuerst definieren wir uns eine Variable weekend_counter, der für jeden Wochenendtag inkrementiert wird.
// Anzahl der Wochenendtage
var weekend_counter = 0;
Nun benötigen wir den Zeitraum, innerhalb dessen die Wochenendtage gezählt werden sollen. Dieses Intervall besteht aus dem heutigen Datum (das wir über die Funktion get_today erhalten, siehe: https://www.stacklounge.de/818/aktuelles-datum-in-javascript-ausgeben-lassen?show=819#a819) und dem Enddatum:
var today = new Date(get_today());
var endday = new Date("12/24/2050");
Da JavaScript ein bestimmtes Datumsformat als Default verwendet, musst Du ggf. Änderungen in der Implementierung vornehmen, damit es zu keinen Inkohärenzen kommt. Nun iterierst Du über die Tage, die zwischen dem heute und dem Enddatum liegen (inklusive der Grenzen). Als Kontrollstruktur eignet sich hierfür eine For-Schleife.
Immer dann, wenn der Wochentag des Datum-Objekts "today" den Index \(6\) (Samstag) oder \(0\) (Sonntag) besitzt, inkrementierst Du den weekend_counter:
// Iteriere über die Anzahl an Tagen
for (var today = new Date(get_today()); today <= enddate; today.setDate(today.getDate() + 1)) {
if(today.getDay() == 6 || today.getDay() == 0){
weekend_counter++;
}
}
Die Ausgabe erfolgt dann z. B. wieder über eine Alert-Box:
window.alert(weekend_counter);