В соответствии с вашей основной идеей вы можете использовать библиотеку date-fns, чтобы получить разницу между датой в неделях.
// import date-fns library
<script src="https://cdnjs.cloudflare.com/ajax/libs/date-fns/2.0.0-alpha0/date_fns.min.js"></script>
Тогда вы можете:
let diffCalendarWeeks = dateFns.differenceInCalendarWeeks(new Date(2020,4,31), new Date(2020,4,1));
let diffWeeks = dateFns.differenceInWeeks(new Date(2020,4,31), new Date(2020,4,1))
console.log(diffCalendarWeeks); //5
console.log(diffWeeks); // 4
См. Date- Документация fns https://date-fns.org/v2.0.0-alpha.1/docs/differenceInCalendarWeeks
Если вы хотите узнать номер недели в пределах указанного месяца, вы можете увидеть разницу между выбранной датой и первой датой.
let selectedDate = new Date(2020, 4, 15);
let startOfMonth = dateFns.startOfMonth(new Date());
var selectedWeek = dateFns.differenceInWeeks(selectedDate, startOfMonth) + 1;
console.log(selectedWeek);
Или вы можете попробовать этот ответ, если вам больше подходит Получение текущей недели текущего месяца