我有一个从我的请求开始的日期和结束日期,需要查找给定的一天是工作日还是周末或假日(从db中的假日列表中)
我尝试使用moment.js
答案 0 :(得分:0)
moment.js
只是一个用于管理日期的库,您需要的是一种算法来确定日期之一是周末还是工作日。
因此,您可以做的是从日期(0-6)中获取星期几,其中0是星期日。
我们说
var date = moment("2015-07-02");
var dow = date.day();
关于是否有节假日,这也很简单,您需要获取一个数组,其中所有日期的格式都与moment.js
所用的格式相同,并遍历该数组以执行以下操作:
var holidays = ["2019-07-02", "2019-07-04"]
let isHoliday = holidays.find(x => x === "2015-07-02")
您需要做的所有工作就在这里。
答案 1 :(得分:0)
确定给定日期是否为周末实际上很简单,并且已经有答案here。
要确定给定的日期是否是假期有点复杂,您无法使用本机JavaScript来实现,您将需要外部软件包的帮助。
我建议您使用moment-holiday,它具有最简单的API:
moment('2017-12-25').isHoliday();
//Christmas Day
moment('2005-03-15').isHoliday();
//false
moment('2009-10-31').isHoliday('Halloween');
//true
moment('2017-12-31').isHoliday();
//New Year's Eve
moment('2017-12-31').isHoliday(null, true);
//false
或者您可以使用date-holidays。