Im Folgenden Code findet Anzahl von montags. Sie können es ändern, um jeden Tag zu berechnen. Es findet im Grunde die Differenz von Tagen in zwei Daten. Teilen Sie es durch 7 (das ist die Anzahl der täglichen kommen wird). Blättern Sie nun für anstehende Tage durch die Daten und prüfen Sie, ob in dieser Schleife ein gewünschter Tag liegt.
var startDate = new Date(2017, 02, 07);
var endDate = new Date(2017, 03, 07);
var dayDiff = Math.round((endDate-startDate)/(1000*60*60*24));
var numberOfMondays = Math.floor(dayDiff/7);
var remainingDays = dayDiff%7;
for(i=0;i<remainingDays;i++)
{
var dateObj = new Date();
dateObj.setDate(endDate.getDate() - i);
if(dateObj.getDay() == 2)
numberOfMondays=numberOfMondays+1;
}
alert(numberOfMondays);
PS: die anderen beiden Antworten durchlaufen alle Daten. Ich werde das nicht vorschlagen. Im obigen Code wird die Anzahl der Iterationen in der Schleife niemals 6 überschreiten, unabhängig von der Differenz der Daten.
@closevoters es gibt nichts, das sagt, dass Benutzer, die How-to Fragen stellen, erforderlich sind, um einzuschließen, was sie bis jetzt versucht haben. Diese Frage ist keine Frage im Debugging-Stil, ist nicht zu weit gefasst und ansonsten klar und am Thema. Bitte beachten Sie: [Nur Debug-Stil-Fragen erfordern explizit Code] (http://meta.stackoverflow.com/a/338846/4639281) –