2

这是小提琴:http: //jsfiddle.net/ccarns/hXPU9/

试图获得“两个月”选项以显示距用户日期 2 个月的相同日期(以及具有类似逻辑的两周和季度)。

一个月的代码工作得很好

later.parse.recur().on(_dayOfTheMonth).dayOfMonth();

任何建议,将不胜感激。如果可能的话,我想坚持使用 Recur Parser。我发现缺少示例。

开始日期为 2013 年 12 月 16 日的每两周示例:

12/16/13
12/30/13
01/13/14
01/27/14

我想我不能使用“稍后”并为“周”做一个简单的 +14 天——但两个月和季度并不是那么简单。

开始日期为 12/04/13 的每两个月的示例:

12/04/13
02/04/14
04/04/14
06/04/14

没有 Later.js 似乎很容易,但如果可能的话想使用它

4

2 回答 2

3

好的,这是一个带有答案的 jsFiddle:http: //jsfiddle.net/ccarns/2gMyx/

我这么说的原因是我有点作弊,因为 every(2).months(); 我每两周尝试的其他方法会返回意想不到的结果。

later.parse.recur().on(_dayOfTheMonth).dayOfMonth().every(2).month();

例如,2013 年 12 月 1 日的开始日期将返回与 2103 年 1 月 1 日相同的结果(两者都将第一个值返回为 2103 年 1 月 1 日)。似乎将每 2 次的实施视为每个奇数月。试试顶部的原始小提琴,看看我的意思。

于 2013-12-09T18:30:50.173 回答
0

要添加两周选项,请创建一个新的日期对象来存储未来两周的日期。

var _twoWeek = new Date();

在代码中将该日期设置为未来两周。

_twoWeek.setDate(startdate.getDate()+14);

改变你的计划线。

  sched = later.parse.recur()
    .on(_dayOfTheWeek).dayOfMonth()
    .and()
    .on(_twoWeek.getDate()).dayOfMonth();
于 2013-12-07T00:21:06.163 回答