我正在构建一个日历应用程序,用户可以在其中保存重复发生的事件。
经过大量研究后,我选择使用moment-recur插件到moment.js库来保存数据库中重复事件的日期。
我的问题是:我的应用程序中的用户经常希望在财务季度结束时设置重复事件。
在英国,这些是3月31日,6月30日,9月30日和12月31日。
我无法找到实现此功能的方法。如果我将重复设置为“3个月”。像这样:
let recurring = moment(date).recur().every(3, 'months');
如果开始日期为31/03/2016
,那么它将完全跳过6月,因为6月只有30天。
如果开始日期为30/06/2016
,那么它将不会适用于31日结束的季度。
非常感谢任何建议!
答案 0 :(得分:1)
你可以简单地获得当前季度,并且通过继续添加像1,2,3这样的季度,您将获得后续季度。
moment().endOf('quarter').startOf('day');
moment().add(1, 'quarter').endOf('quarter').startOf('day');
moment().add(2, 'quarter').endOf('quarter').startOf('day');
moment().add(3, 'quarter').endOf('quarter').startOf('day');