zoukankan      html  css  js  c++  java
  • 用ES6写的给定日期最近一天工作日

    通过'http://tool.bitefu.net/jiari/?d=20210815获取最近一天工作日,此API反回0表示工作日,1表示周末,2表示假期

    //workday.js
    
    import fetch from 'node-fetch'
    
    const URL = 'http://tool.bitefu.net/jiari/?d=' // 日期格式  d=20210814
    
    const fetchAsync = async (url, date) => {
      const response = await fetch(url + date)
      return await response.text()
    }
    
    function sleep(ms) {
      return new Promise((resolve) => setTimeout(resolve, ms))
    }
    
    async function getLastWorkday(datetime = new Date(), delay = 1000) {
      let lastWorkday
      datetime.setDate(datetime.getDate() + 1)
      while (true) {
        lastWorkday = new Date(datetime.setDate(datetime.getDate() - 1))
          .toISOString()
          .split('T')[0]
          .split('-')
          .join('')
        const isWorkDay = await fetchAsync(URL, lastWorkday)
        if (isWorkDay === '0') {
          break
        }
        await sleep(delay)
      }
    
      return [lastWorkday, datetime]
    }
    

    用法

    import getLastWorkday from './workday.js'
    
    const lastWorkday = async () => {
      let result = await getLastWorkday(new Date('2021-08-01'))
      console.log(result)
      return result
    }
    
    lastWorkday()
    
    
  • 相关阅读:
    如何检索某个字段在sqlserver中的哪个些存储过程中?很简单的SQL语句。
    如何去掉HTML代码来获取纯文本?
    ajax实现跨域请求
    ajax实现跨域提交
    lab3
    Lab2
    hw2
    Homework1
    Lab1
    CS61B_学习计划和进程
  • 原文地址:https://www.cnblogs.com/joe62/p/15142774.html
Copyright © 2011-2022 走看看