Javascript 根据客户每周计划创建一系列时间作业
我的客户指定的每周时间表(周一下午2点、周五下午3点、周五下午4点等)。此时需要调用我的函数Javascript 根据客户每周计划创建一系列时间作业,javascript,date,datetime,Javascript,Date,Datetime,我的客户指定的每周时间表(周一下午2点、周五下午3点、周五下午4点等)。此时需要调用我的函数foo()。然后,他们会说“使用此计划调用foo()”,但只能在指定的几个月内调用 所以我有他们选择的日程安排(周一至周日为1-7天): 我需要将其转换为一组真实的天,格式如下: const scheduleArrayForFooFunction = [{ month: '3', date: '16', hour: '11', minute: '34'},{...}
foo()
。然后,他们会说“使用此计划调用foo()”,但只能在指定的几个月内调用
所以我有他们选择的日程安排(周一至周日为1-7天):
我需要将其转换为一组真实的天,格式如下:
const scheduleArrayForFooFunction = [{
month: '3',
date: '16',
hour: '11',
minute: '34'},{...}]
有关于如何转换的建议吗?我有困难。或者是否有一个javascript库可以为我做这件事 就是你需要的
例如,获取当月的第一个星期一
moment().startOf('month').add(1, 'week').add(-1, 'day').day('1')
(在星期一的day('1')
链中的最后一个调用,由于您的格式,我使用了字符串,但它可以只是一个数字)
然后您可以使用add(1,'week')
获取其他周一。并根据需要检查月份范围
更新
罗布问是否有更简单的方法。显然,它可以简化
moment().startOf('month').add(6, 'day').day('1')
但我想我们为什么要增加6天还不太清楚 这似乎是一种复杂的方式来获得每月的第一个星期一(5个函数调用)。肯定有更简单的方法吗?@RobG我提供了一个更新。看一看。如果你知道更好的方法,让我们知道。
moment().startOf('month').add(6, 'day').day('1')