可疑代码:
<script src="https://jakubroztocil.github.io/rrule/dist/es5/rrule.min.js"></script>
// Create a rule:
const rule = new rrule.RRule({
freq: rrule.RRule.DAILY,
dtstart: new Date('{{ date('Y-m-d', strtotime($product->details->date_from . ' -1 day'))}}'),
until: new Date('{{$product->details->date_to_1 ? date('Y-m-d', strtotime($product->details->date_to_1 . ' +1 day')) : date('Y-m-d', strtotime($product->details->date_to . ' +1 day'))}}'),
});
rule.exdate(new Date("2020-06-25"));控制台了解到:
TypeError: rule.exdate is not a function但如果我们遵循官方指南RRule回购手册
我们可以观察到解决方案为:)
//在rruleSet rruleSet.exdate中添加一个排除日期(新日期(Date.UTC(2012、5、1、10、30)
我搞不懂我哪里错了?
提前谢谢。
致以敬意,
Aizaz
发布于 2020-08-07 06:40:29
const rruleSet = new RRuleSet();
rruleSet.rrule(
new RRule({
freq: RRule.DAILY,
count: 5,
dtstart: new Date("Aug 2020 10 10:30 am"),
})
);
rruleSet.exdate(new Date("Aug 2020 12 10:30 am"));在这里,它将不包括8月12日和回馈(10,11,13,14的8月)。
发布于 2020-10-21 04:25:53
RRuleSet是与RRule不同的对象。您将在RRuleSet对象上而不是在RRule上找到exdate。
发布于 2022-04-21 17:26:13
EXDATE道具只能在RRuleSet中工作。因此,在包含rrule.js脚本之后,可以排除单个日期或多个日期,如下所示:
const RRuleSet = rrule.RRuleSet;
const rruleSet = new RRuleSet();
rruleSet.rrule(
new RRule({
freq: RRule.DAILY,
count: 5,
dtstart: new Date("2022-04-15"),
})
);
rruleSet.exdate(new Date("2022-04-25"));
// Again add 'exdate()' to exclude another date
rruleSet.exdate(new Date("2022-04-28"));之后,使用rruleSet将toString()转换为字符串。
let rruleStr = rruleSet.toString();因此,要检查递归,首先应该使用rruleStr将字符串转换为使用rrulestr()的对象,而不是使用all()、before()、after()或between()检索方法来迭代规则:
let ruleSetObj = rrule.rrulestr(rruleStr);
let ruleNextOccurrence = ruleSetObj.after(new Date('2022-04-25'), true);https://stackoverflow.com/questions/62533315
复制相似问题