【发布时间】:2015-12-08 16:15:37
【问题描述】:
我有一个标记为重复日期(每年发生)的日期,这个日期是 2014 年 4 月 1 日,从 2014 年开始,这个事件将每年发生一次。
我有一个每周运行的工作,在这个工作中我插入了从今天开始将在未来 180 天内发生的数据库事件,其他事件将被丢弃。
现在在我的检查中,2016 年 4 月 1 日已经过去......所以它被丢弃(而应该添加 2015 年 4 月 1 日,因为它在范围内)。
我正在使用 momentjs,但找不到正确的逻辑。
下面是我的代码......
//desiredDate = today + 180 days
if (isYearlyRecur) {
var year = eventeDate.getFullYear();
if (year < currentYear) {
if (moment(eventeDate).unix() < moment(todayDate).unix()) {
eventeDate = moment(eventeDate).set('year', currentYear + 1);
}
else if (moment(eventeDate).unix() > moment(desiredDate).unix()) {
eventeDate = moment(eventeDate).set('year', currentYear);
}
}
}
正确的做法是什么,如果日期在明年……等等
【问题讨论】:
-
你看到 MomentJS 的
recur插件了吗? momentjs.com/docs/#/plugins/recur -
不,我去看看
标签: javascript date momentjs recurring