Vorgehensweise zum berechnen der Anzahl von 'Arbeitstagen zwischen zwei Datumsangaben in Javascript mit moment.js?
So berechnen Sie die Anzahl der Arbeitstage zwischen zwei Datumsangaben in JavaScript mit moment.js. Ich habe eine funktionierende Formel, die berechnen, in diesen Tagen, aber die Formel nicht erfüllt alle Bedingungen:
hier ist mein code:
var start= moment(data[x].start_date);
var end= moment(data[x].est_end_date);
var difference= end.diff(start, 'days');
var workingDays= Math.round((difference/7)*5);
//data[x] is for iterating over a loop
Bekomme ich fünf Tage pro 7 Tage hier, weil Samstag und Sonntag werden NICHT als Arbeitstage, aber diese Formel wird scheitern, wenn die Zählung der Tage gestartet wurden, die von Sonntag oder Samstag.
Please jemand helfen könnte, in dieser Hinsicht, dass das, was notwendig ist, müssen die änderungen gemacht werden, um dieses problem zu vermeiden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur teilen es in 3 Teile.. der erste Woche, die Letzte Woche und die in-zwischen, so etwas wie dieses:
Den test-code
Ausgabe von test-code:
Verwende ich eine einfache Funktion, um zu erreichen, dass. Ist vielleicht nicht die effizienteste, aber es funktioniert. Es erfordert nicht Moment.js. es ist nur Javascript.
Zu
addDays
ich folgende Funktion verwenden:Fand ich kokizzu Antwort hat nicht funktioniert, wenn die Tage waren in der gleichen Woche (z.B. so, sa), so dass sich für dieses statt :
Ich habe eine Anpassung an Kokizzu Antwort, um zu beheben, ein Sommer-Zeit-problem. In der brasilianischen Zeitzone (GMT -3), der Unterschied zwischen 17/10/2017 und 18/10/2017 war -2.71 statt 2.
Beginn der Woche war 15/10/2017 00:00 UTC oder 14/10/2017 21:00-03:00 Uhr
Ende der Woche war 22/10/2017 00:00 UTC oder 21/10/2017 22:00-02:00 (Sommerzeit)
Daher, statt der 7, die Differenz zwischen "first" und "last" - variable in Tagen lag bei 6 (oder 8, je nach Zeitzone).
Den code fixiert ist unten:
können Sie versuchen, diese(ohne Schlaufe):
Original Source