从当年的周数中获取当月的星期数

我有一个函数,如43.55等返回当前的一周

我想要的是把它作为第一周第二周,在本月。

PS我只有当年的一周,没有date

使用“时刻”模块:

var moment = require('moment'); function foo(weekOfYear) { var dayOfMonth = moment().week(weekOfYear).date(); var weekOfMonth = Math.ceil(dayOfMonth / 7); return weekOfMonth; } console.log(foo(1)) //1 console.log(foo(11)) //2 console.log(foo(12)) //3 console.log(foo(13)) //4 console.log(foo(14)) //1 
 var getWeekOfMonth = function(date) { var month = date.getMonth(), year = date.getFullYear(), firstWeekday = new Date(year, month, 1).getDay(), lastDateOfMonth = new Date(year, month + 1, 0).getDate(), offsetDate = 7 - firstWeekday, daysAfterFirstWeek = lastDateOfMonth - offsetDate, weeksInMonth = Math.ceil(daysAfterFirstWeek / 7) + 1; var noOfDaysAfterRemovingFirstWeek = date.getDate() - offsetDate; if (noOfDaysAfterRemovingFirstWeek <= 0) { week = 1; } else if (noOfDaysAfterRemovingFirstWeek <= 7) { week = 2; } else if (noOfDaysAfterRemovingFirstWeek <= 14) { week = 3; } else if (noOfDaysAfterRemovingFirstWeek <= 21) { week = 4; } else if (weeksInMonth >= 5 && noOfDaysAfterRemovingFirstWeek <= 28) { week = 5; } else if (weeksInMonth === 6) { week = 6; } return week; };