给出工作日的两个日期之间的日期列表

时间:2018-12-23 14:24:19

标签: javascript node.js

  

我有一个开始日期[日期为y-m-d格式](2018-12-23)和一个   结束日期(2018-12-31)。我只希望这些日期在开始到   结束日期,该日期是星期一,星期四,星期六。我该如何实现   这仅使用javascript吗?

我已经用PHP完成了,但是我需要在节点js中完成。

我的PHP代码示例为:-

start

1 个答案:

答案 0 :(得分:1)

您是否正在寻找类似的东西?

let getDatesByDay = (start_date, end_date) => {
    let datesArray = [];
    const date1_date = new Date(start_date);
    const date2_date = new Date(end_date);
    let current_date = date1_date;
    while (current_date <= date2_date) {
        if(filterDateByDay(current_date)){
            datesArray.push(`${current_date.getFullYear()}-${current_date.getMonth()+1}-${current_date.getDate()}`)
        }
        current_date = new Date(current_date.setDate(current_date.getDate()+1));
    }
    console.log(datesArray);
}

let filterDateByDay = (date) => {
    const currentDay = date.getDay();
    const acceptableDays = [1,4,6]
    if(acceptableDays.indexOf(currentDay) != -1)
        return date;
    return null;
} 

getDatesByDay("2018-11-01","2018-12-31");