Einführung
In diesem Lab werden wir ein JavaScript-Programm untersuchen, das die Anzahl der Werktage zwischen zwei angegebenen Daten zählt. Das Programm verwendet ein Array und die reduce-Methode, um über den angegebenen Zeitraum von Daten zu iterieren, um zu überprüfen, ob jedes Datum ein Werktag ist und den Zähler entsprechend zu erhöhen. Es sollte jedoch bemerkt werden, dass dieses Programm keine offiziellen Feiertage berücksichtigt.
Zähle die Werktage zwischen zwei Daten
Um die Werktage zwischen zwei Daten zu zählen, folge diesen Schritten:
- Öffne das Terminal/SSH und tippe
node, um mit der Code-Praxis zu beginnen. - Verwende
Array.from(), um ein Array zu erstellen, dessen Länge der Anzahl der Tage zwischenstartDateundendDateentspricht. - Verwende
Array.prototype.reduce(), um über das Array zu iterieren, überprüfe, ob jedes Datum ein Werktag ist und erhöhecount. - Aktualisiere
startDatemit dem nächsten Tag in jeder Schleife, indem duDate.prototype.getDate()undDate.prototype.setDate()verwendest, um es um einen Tag voranzuschieben. - Beachte, dass diese Funktion keine offiziellen Feiertage berücksichtigt.
Hier ist der Code, um dies umzusetzen:
const countWeekDaysBetween = (startDate, endDate) =>
Array.from({ length: (endDate - startDate) / (1000 * 3600 * 24) }).reduce(
(count) => {
if (startDate.getDay() % 6 !== 0) count++;
startDate = new Date(startDate.setDate(startDate.getDate() + 1));
return count;
},
0
);
Du kannst folgenden Code verwenden, um die Funktion zu testen:
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 06, 2020")); // 1
countWeekDaysBetween(new Date("Oct 05, 2020"), new Date("Oct 14, 2020")); // 7
Zusammenfassung
Herzlichen Glückwunsch! Du hast das Lab "Zähle die Werktage zwischen zwei Daten" abgeschlossen. Du kannst in LabEx weitere Labs absolvieren, um deine Fähigkeiten zu verbessern.