Wie wird die Anzahl der 'Arbeitstage' zwischen zwei Datumsangaben in Javascript mit moment.js berechnet?

8

So berechnen Sie die Anzahl der Arbeitstage zwischen zwei Daten in JavaScript mit moment.js. Ich habe eine Arbeitsformel, die diese Tage berechnet, aber die Formel erfüllt nicht alle Bedingungen:

hier ist mein Code:

%Vor%

Ich bekomme hier fünf Tage pro 7 Tage, weil Samstag und Sonntag als NICHT-Arbeitstage gelten, aber diese Formel wird fehlschlagen, wenn die Anzahl der Tage von Sonntag oder Samstag angefangen wird.

Bitte helfen Sie in diesem Zusammenhang, dass die notwendigen Änderungen vorgenommen werden müssen, um dieses Problem zu vermeiden.

    
Ali Shaan 10.02.2015, 06:01
quelle

4 Antworten

15

Teilen Sie es einfach in drei Teile auf. Die erste Woche, die letzte Woche und die dazwischen, etwas wie dieses:

%Vor%

Der Testcode

%Vor%

Ausgabe des Testcodes:

%Vor%     
Kokizzu 10.02.2015, 06:45
quelle
1

Ich fand, dass die Antwort von Kokizzu nicht funktionierte, wenn Tage in der gleichen Woche waren (z. B. Sonne zu sitzen), also entschied man sich stattdessen dafür:

%Vor%     
simonberry 03.08.2017 12:03
quelle
0

Ich habe eine Anpassung an Kokizzus Antwort vorgenommen, um ein Sommerzeitproblem zu beheben. In der brasilianischen Zeitzone (GMT -3), der Unterschied zwischen 17/10/2017 und 18/10/2017 war -2,71 statt 2.

Der Start der Woche war 15.10.2017 00:00 UTC oder 14.10.2017 21: 00-03: 00

Das Ende der Woche war 22/10/2017 00:00 UTC oder 21/10/2017 22: 00-02: 00 (Sommerzeit)

Daher war anstelle von 7 der Unterschied zwischen der "ersten" und "letzten" Variablen in Tagen 6 (oder 8, abhängig von Ihrer Zeitzone).

Der festgelegte Code ist unten:

%Vor%     
Joaobrunoah 17.10.2017 13:12
quelle
0

Ich benutze eine einfache Funktion, um das zu erreichen. Vielleicht ist nicht die effizienteste, aber es funktioniert. Moment.js ist nicht erforderlich. es ist nur Javascript.

%Vor%     
Juan García 22.02.2018 22:34
quelle

Tags und Links