【问题标题】:Get weekday list between two dates? JavaScript获取两个日期之间的工作日列表? JavaScript
【发布时间】:2022-01-20 03:35:31
【问题描述】:

如何获取两个日期之间的工作日列表?为此,我需要 javaScript 函数。 (date-fns 库函数也可以) 举个例子

getWeekDayList('2022-01-10', '2022-01-20');

function getWeekDayList(startDate, endDate){
        //Output should be week days only
          2022-01-10
          2022-01-11
          2022-01-12
          2022-01-13
          2022-01-14
          2022-01-17
          2022-01-18
          2022-01-19
          2022-01-20
}

【问题讨论】:

  • 我们不是您的个人代码编写服务。您必须通过提供您迄今为止编写的代码 minimal reproducible example 来表现出满足您描述的要求的善意尝试。请熟悉How to Ask

标签: javascript node.js date


【解决方案1】:

您可以使用for 循环遍历开始日期和结束日期之间的每个日期,然后使用Date.getDay 获取星期几并忽略不是工作日的日期。

function getWeekDayList(startDate, endDate) {
  let days = []
  let end = new Date(endDate)
  for (let start = new Date(startDate); start <= end; start.setDate(start.getDate() + 1)) {
    let day = start.getDay();
    if (day != 6 && day != 0) {
      days.push(new Date(start));
    }
  }
  return days;
}

const result = getWeekDayList('2022-01-10', '2022-01-20')

console.log(result.map(e => e.toLocaleString('en-US', {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2019-02-24
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    相关资源
    最近更新 更多