我的客户指定每周时间表(星期一下午2点,星期五下午3点,星期五也是下午4点等)。我的函数foo()
需要在这些时间调用。然后,他们将使用此计划表示" Call foo()" 但仅限于若干指定月份。
所以我他们选择的时间表(mon-sun的日子是1-7):
const scheduleArray = [{day: '1', hour: '11', minute: '34'},{...}]
我需要以我认为的格式转换为真实天数组:
const scheduleArrayForFooFunction = [{
month: '3',
date: '16',
hour: '11',
minute: '34'},{...}]
有关如何转换此内容的任何建议?我遇到了困难。或者是否有一个javascript库将为我做这个?
答案 0 :(得分:1)
momentjs.com就是您所需要的。
例如,获取当月的第一个星期一
moment().startOf('month').add(1, 'week').add(-1, 'day').day('1')
(星期一链day('1')
的最后一次调用我使用了字符串,因为你的格式,但它可以只是一个数字)
然后你可以使用add(1, 'week')
来获得其他星期一。并根据需要检查月份范围。
<强>更新强>
RobG问是否有更简单的方法。显然它可以简化
moment().startOf('month').add(6, 'day').day('1')
但我认为为什么我们加6天不太清楚。