比如:开始时间2019-11-22 结束时间2019-12-12
怎么计算这个范围内有多少周?
最后组成一个json数组格式。
如下:
[
{
name : "第1周"
},
{
name : "第2周"
},
{
name : "第3周"
},
....
]
比如:开始时间2019-11-22 结束时间2019-12-12
怎么计算这个范围内有多少周?
最后组成一个json数组格式。
如下:
[
{
name : "第1周"
},
{
name : "第2周"
},
{
name : "第3周"
},
....
]
// node 测试
const moment = require('moment')
function initItem(arr, index) {
arr[index] = { name: `第${index + 1}周`, days: [] }
return arr
}
function calWeek(startTime, endTime) {
moment.locale('fr', {
week: {
dow: 1 // Monday is the first day of the week.
}
})
let startDay = moment(startTime)
let endDay = moment(endTime)
let index = 0
let temp = []
initItem(temp, index)
while (!startDay.isAfter(endDay)) {
if (startDay.days() === 1 && temp[index].days.length) {
index++
initItem(temp, index)
}
temp[index].days.push(startDay.format('YYYY-MM-DD'))
startDay.add(1, 'd')
}
return temp
}
console.log(calWeek('2019-11-18', '2020-01-01'))
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
不知你这个计算范围是否包含日期所在的那个周否?
推荐使用 moment
获取选择日期处于当年的第几周可以通过如下方式获取:
根据上面的方法能获取到两个日期的差值来计算范围内有几个周,之后如何处理数据应该就简单多了,想弄成什么数据格式都可以了