我正在尝试将星期开始设置为星期五,结束日期设置为星期五,我尝试使用startOf/ end to ( week /isoweek),但失败了。有没有办法用moment把星期五作为一周的开始,把星期五作为一周的结束。
时刻(日期).startOf(‘星期’);//或isoweek
输出应为,日期为星期五
请求日期: First date= 05-09-2019 End date= 05-15-2019(当前日期)
预期产量:{每周开始:2019- 05-03-2019,周末: 05-10-2019 },{每周开始: 05-10-2019,周末: 05-17-2019 }
发布于 2019-05-15 17:07:15
没有用于设置周开始日期的选项。但是你可以使用以下命令来获取上周五的日期
moment().weekday(-2).format("YYYY-DD-MM")发布于 2019-05-16 01:58:45
您可以使用以下内容更新区域设置的周开始时间:
moment.updateLocale(moment.locale(), { week: { dow: 5 } })
moment().startOf('week').toString(); // Fri May 10 2019 00:00:00 GMT+0100发布于 2019-05-17 12:32:13
您可以执行一个简短的自定义函数,根据传递的isoWeekDay始终为您提供一周的开始和结束时间
let getCustomWeek = (dayOfWeek=7, date=new Date()) => {
let firstDay, lastDay, passedDay = moment(date).isoWeekday(dayOfWeek)
firstDay = moment(passedDay).subtract(1, 'week')
lastDay = moment(firstDay).add(1, 'week')
return { start: firstDay.format(), end: lastDay.format() }
}
let dateRange = ['05-09-2019', '05-15-2019']
console.log('Friday: ', dateRange.map(d => getCustomWeek(5, new Date(d))))
console.log('Wednesday: ', dateRange.map(d => getCustomWeek(3, new Date(d))))<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
https://stackoverflow.com/questions/56145241
复制相似问题