1

我正在构建一个日历应用程序,用户可以在其中保存重复发生的事件。

经过大量研究后,我选择在 moment.js 库中使用 moment-recur 插件来将重复事件的日期保存在数据库中。

我的问题是:我的应用程序中的用户经常希望设置一个事件以在财务季度结束时重复。

在英国是 3 月 31 日、6 月 30 日、9 月 30 日和 12 月 31 日。

我无法找到实现此功能的方法。如果我将重复设置为“3 个月”,如下所示:

let recurring = moment(date).recur().every(3, 'months');

如果开始日期是31/03/2016那么它将完全跳过六月,因为六月只有 30 天。

如果开始日期是,30/06/2016那么它将不适用于 31 日结束的季度。

非常感谢任何建议!

4

1 回答 1

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');
于 2017-03-06T16:27:31.390 回答