JSFiddle - React, Tailwind, and code Playground
by Chance Nursey-Bush
JavaScript
function GetWorkweekForDate(dt2) {
var dt2Year = dt2.getFullYear();
var dt1 = new Date("1/1/" + dt2Year);
//console.log("start of year");
//console.log(dt1);
var numDaysBetween = this.NumDaysBetweenDates(dt1, dt2);
//console.log(numDaysBetween);
var dayOfWeekDt1 = dt1.getDay();
var dayOfWeekDt2 = dt2.getDay();
//console.log(dayOfWeekDt1);
//console.log(dayOfWeekDt2);
var firstDayOfWW1 = new Date(dt1);
firstDayOfWW1.setDate(dt1.getDate() - dayOfWeekDt1);
var firstDayOfCurrent = new Date(dt2);
firstDayOfCurrent.setDate(dt2.getDate() - dayOfWeekDt2);
//console.log(firstDayOfWW1);
//console.log(firstDayOfCurrent);
var daydiffVal = this.NumDaysBetweenDates(firstDayOfWW1, firstDayOfCurrent);
//console.log(daydiffVal);
var workWeek = (daydiffVal / 7) + 1;
return workWeek;
}
var startDateStr = "Thu Jan 25 2018 00:00:00 GMT-0700 (US Mountain Standard Time)";
var stopDateStr = "Thu Feb 22 2018 00:00:00 GMT-0700 (US Mountain Standard Time)";
var array = [];
var startDate = new Date(startDateStr);
var startWW = GetWorkweekForDate(startDate);
var startYear = startDate.getFullYear();
var endDate = new Date(stopDateStr);
var endWW = this.GetWorkweekForDate(endDate);
var endYear = endDate.getFullYear();
var yearDiff = endYear - startYear;
debugger;
if (yearDiff > 0) endWW += (yearDiff * 52);
for (var x = startWW; x < endWW + 1; ++x) {
var tempMonth;
if (x > 52) {}
//if (x <= 52 && startYear !== endYear) {
// array.push("WW" + x + ", " + startYear);
//} else if (startYear === endYear) {
// //here
//} else {
// array.push("WW" + x + ", " + startYear);
//}
}
return array;