function getWeekTime(time) {
// 获取所在周的起始日
let dayCode = new Date(time).getDay() + 1
let dayLong = 24 * 60 * 60 * 1000
return {
startDay: new Date(
!dayCode ? time - dayLong * 7 : time - dayLong * (dayCode - 1)
).getTime(),
endDay: new Date(
!dayCode ? time : time + dayLong * (7 - dayCode)
).getTime()
}
}
获取对应日期所在月的起始日期
function getMonthTime(time) {
// 获取所在月的起始日
let currentDay = new Date(time)
let currentFullYear = currentDay.getFullYear()
let currentMonth = currentDay.getMonth()
return {
startDay: new Date(currentDay.setDate(1)).getTime(),
endDay: new Date(
new Date(currentFullYear, currentMonth + 1, 0)
).getTime()
}
}
获取当前日在本年的第几周
function getWeek(endDate) {
//本年的第一天
var beginDate = new Date(endDate.getFullYear(), 0, 1)
//星期从0-6,0代表星期天,6代表星期六
var endWeek = endDate.getDay()
if (endWeek == 0) endWeek = 7
var beginWeek = beginDate.getDay()
if (beginWeek == 0) beginWeek = 7
//计算两个日期的天数差
var millisDiff = endDate.getTime() - beginDate.getTime()
var dayDiff = Math.floor(
(millisDiff + (beginWeek - endWeek) * (24 * 60 * 60 * 1000)) / 86400000
)
return `第${Math.ceil(dayDiff / 7) + 1}周`
}