var staticWeekTime = require('./staticWeekTime') var staticStrFirst = require('./staticStrFirst') var helperGetYMDTime = require('./helperGetYMDTime') var getWhatMonth = require('./getWhatMonth') var toStringDate = require('./toStringDate') var getWhatWeek = require('./getWhatWeek') var isValidDate = require('./isValidDate') /** * 返回某个月的第几周 * * @param {Date} date 日期或数字 * @return {Number} */ function getMonthWeek (date) { var monthFirst, monthFirstWeek var currentDate = toStringDate(date) if (isValidDate(currentDate)) { monthFirst = getWhatMonth(currentDate, 0, staticStrFirst) monthFirstWeek = getWhatWeek(monthFirst, 0, 1) if (monthFirstWeek < monthFirst) { monthFirstWeek = getWhatWeek(monthFirst, 1, 1) } if (currentDate >= monthFirstWeek) { return Math.floor((helperGetYMDTime(currentDate) - helperGetYMDTime(monthFirstWeek)) / staticWeekTime) + 1 } return getMonthWeek(getWhatWeek(currentDate, 0, 1)) } return NaN } module.exports = getMonthWeek