NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/xe-utils/methods/date/getMonthWeek.js
2023-09-14 14:47:11 +08:00

36 lines
1.0 KiB
Java

var staticWeekTime = require('../static/staticWeekTime')
var staticStrFirst = require('../static/staticStrFirst')
var helperGetYMDTime = require('./helperGetYMDTime')
var getWhatMonth = require('./getWhatMonth')
var toStringDate = require('./toStringDate')
var getWhatWeek = require('./getWhatWeek')
var isDate = require('../base/isDate')
/**
* 返回某个月的第几周
*
* @param {Date} date 日期或数字
* @return {Number}
*/
function getMonthWeek (date) {
var monthFirst, monthFirstWeek
var currentDate = toStringDate(date)
if (isDate(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 currentDate
}
module.exports = getMonthWeek