Javascript 当前月份的周结束日期
我每周(比如说,周五)生成一份报告,我需要每个月的周末日期。如果是新月份,则返回该月份的最后日期。。 我在这里第一次约会:-Javascript 当前月份的周结束日期,javascript,Javascript,我每周(比如说,周五)生成一份报告,我需要每个月的周末日期。如果是新月份,则返回该月份的最后日期。。 我在这里第一次约会:- var firstDay = new Date(date.getFullYear(), date.getMonth(), 1); 但是无法继续。JavaScript没有提供直接获取此类信息的功能,但是您可以通过计算一个月的最后一个星期五来完成,例如 function lastFridayOfMonth(year, month) { // if month wi
var firstDay = new Date(date.getFullYear(), date.getMonth(), 1);
但是无法继续。JavaScript没有提供直接获取此类信息的功能,但是您可以通过计算一个月的最后一个星期五来完成,例如
function lastFridayOfMonth(year, month) {
// if month will start from one not from 0 then we will have month + 1
var lastDay = new Date(year, month + 2, 0);
var lastDayNumber = 5;
if(lastDay.getDay() < lastDayNumber) {
lastDay.setDate(lastDay.getDate() - 7);
}
lastDay.setDate(lastDay.getDate() - (lastDay.getDay() - lastDayNumber));
return lastDay;
}
函数lastFridayOfMonth(年,月){
//如果月份从1开始,而不是从0开始,则月份将为+1
var lastDay=新日期(年、月+2,0);
var lastDayNumber=5;
if(lastDay.getDay()
签出软件包。它为您提供了很多日期和时间间隔的可能性。它与日历中的规则类似
为了你的案子。每周五:
从'RRule'导入{RRule}
常量规则=新规则({
频率:RRule.WEEKLY,
间隔时间:1,
平日:[RRule.FR],
})
//每隔一个星期五,你会得到一系列的日期
规则.介于(新日期(UTC日期(2012,7,1)),新日期(UTC日期(2012,8,1)))
尝试使用以下功能
函数getWeekEndDates(日期){
让year=date.getFullYear();
let month=date.getMonth();
第一天=新日期(年、月、1);
lastDay=新日期(年、月+1,0);
让周末=[];
让dateFriday=第一天;
if(firstDay.getDay()!==5){
dateFriday=新日期(年、月、1+((12-firstDay.getDay())%7));
周末。推送(第一天);
}
while(dateFriday.getMonth()==月){
周末。推送(日期周五);
dateFriday=新日期(年、月、dateFriday.getDate()+7);
}
if(lastDay.getDay()!==5){
周末。推送(最后一天);
}
周末返回;
}
getWeekEndDates(newdate()).forEach(x=>console.log(x.toDateString());
getWeekEndDates(新日期(2020,0,1)).forEach(x=>console.log(x.toDateString());
getWeekEndDates(新日期(2021,0,1)).forEach(x=>console.log(x.toDateString())代码>