代码拉取完成,页面将自动刷新
// let time = null
// // 写一个time从60秒到0秒的倒计时
// function countDown() {
// let time = 60
// let timer = setInterval(() => {
// time--
// if (time == 0) {
// clearInterval(timer)
// }
// }, 1000)
// }
// // 写一个函数,实现数组的扁平化
// function flatten(arr) {
// let res = []
// arr.forEach(item => {
// if (Array.isArray(item)) {
// res = res.concat(flatten(item))
// } else {
// res.push(item)
// }
// })
// return res
// }
// let arr = [
// {
// id: 1,
// num: 0
// },
// {
// id: 2,
// num: 1
// }
// ]
// let obj = {
// id: 1,
// num: 3
// }
// //判断arr中是否存在obj,如果存在就修改arr中obj的num为两个num之合,如果不存在就添加obj到arr中
// function addOrEdit(arr, obj) {
// let idx = arr.findIndex(item => {
// return item.id == obj.id
// })
// if (idx == -1) {
// arr.push(obj)
// } else {
// arr[idx].num += obj.num
// }
// return arr
// }
// let nowDay = "2023-12-31"
// let dateArr = [[2023, 2024]]
// // 函数返回下周五的日期,格式为yyyy-mm-dd
// function getNextWeekDay() {
// let date = new Date()
// let day = date.getDay() == 0 ? 7 : date.getDay()
// let nextWeekDay = new Date(date.getTime() + (7 - day + 5) * 24 * 3600 * 1000)
// return nextWeekDay.getFullYear() + '-' + (nextWeekDay.getMonth() + 1) + '-' + nextWeekDay.getDate()
// }
// // // 对比两个日期大小
// function compareDate(date1, date2) {
// let time1 = new Date(date1).getTime()
// let time2 = new Date(date2).getTime()
// return time1 - time2
// }
// // 写一个函数返回某个年份包含的月份,若年份为当前年,则月份最小值为当前月
// function getMonthArr(year) {
// let date = new Date()
// let month = date.getMonth() + 1
// let monthArr = []
// if (year == date.getFullYear()) {
// for (let i = month; i < 13; i++) {
// monthArr.push(i)
// }
// } else {
// for (let i = 1; i < 13; i++) {
// monthArr.push(i)
// }
// }
// return monthArr
// }
// dateArr.push(getMonthArr(dateArr[0][0]))
// // 写一个函数返回某个月份包含的周五周六周日,若月份为当前月,则周五周六周日最小值为当前周的下一周周五
// function getWeekDay(year, month) {
// let date = new Date(year, month - 1, 1)
// let day = date.getDay()
// let arr = []
// let week = ['日', '一', '二', '三', '四', '五', '六']
// let len = new Date(year, month, 0).getDate()
// for (let i = 1; i <= len; i++) {
// if (day == 5 || day == 6 || day == 0) {
// // 对比当前日期和下周五的日期,如果当前日期大于下周五的日期,就把当前日期push到数组中
// (compareDate(year + '-' + month + '-' + i, getNextWeekDay()) >= 0) ? arr.push(i + '周' + week[day]) : ''
// }
// day++
// if (day == 7) {
// day = 0
// }
// }
// return arr
// }
// // 判断是否跨年,如果跨年,就把dateArr中的年份和月份都改为下一年的
// if (getWeekDay(dateArr[0][0], dateArr[1][0]).length == 0) {
// if (dateArr[1][0] == 12) {
// dateArr[0].splice(0, 1)
// dateArr[1] = getMonthArr(dateArr[0][0])
// } else {
// dateArr[1].splice(0, 1)
// }
// }
// dateArr.push(getWeekDay(dateArr[0][0], dateArr[1][0]))
// console.log(dateArr)
// 写一个函数以2023-4-3所在周为奇数周开始,判断之后传入日期所在周是奇数周还是偶数周
function getWeekType(date) {
let dateArr = date.split('-')
let date1 = new Date(dateArr[0], dateArr[1] - 1, dateArr[2])
let date2 = new Date(dateArr[0], 0, 1)
let day = date2.getDay() == 0 ? 7 : date2.getDay()
let week = Math.ceil((date1.getTime() - date2.getTime()) / (7 * 24 * 3600 * 1000))
if (day == 1) {
return week % 2 == 0 ? '偶数周' : '奇数周'
} else {
return (week + 1) % 2 == 0 ? '偶数周' : '奇数周'
}
}
// 写一个函数返回某个月份奇数周包含周六周日,偶数周包含周一至周五
function getWeekDay(year, month) {
let date = new Date(year, month - 1, 1)
let day = date.getDay()
let arr = []
let week = ['日', '一', '二', '三', '四', '五', '六']
let len = new Date(year, month, 0).getDate()
for (let i = 1; i <= len; i++) {
if (getWeekType(year + '-' + month + '-' + i) == '奇数周') {
if (day == 6 || day == 0) {
arr.push(i + '周' + week[day])
}
} else {
if (day == 1 || day == 2 || day == 3 || day == 4 || day == 5) {
arr.push(i + '周' + week[day])
}
}
day++
if (day == 7) {
day = 0
}
}
return arr
}
console.log(getWeekDay(2023, 4))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。