每两周或每两个月一次

时间:2013-12-06 23:33:47

标签: javascript laterjs

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

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

一个月的代码运作得很好

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

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

开始日期为12/16/13的每两周的示例:

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

我想我可以不使用Later并为周做一个简单的+14天 - 但是两个月和季度并不那么简单。

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

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

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

2 个答案:

答案 0 :(得分:3)

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

我之所以这么说是因为每(2)个。月();我每两周尝试的其他方法会产生意想不到的结果。

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

例如,开始日期为12/1/2013将返回与1/1/2103相同的结果(两者都将第一个值返回为1/1/2103)。看起来好像每个奇数月每2个处理一次。尝试顶部的原始小提琴,看看我的意思。

答案 1 :(得分:0)

要添加两周选项,请创建一个新的日期对象,以便在将来两周内存储日期。

var _twoWeek = new Date();

在代码集中,该日期为未来两周。

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

改变你的计划。

  sched = later.parse.recur()
    .on(_dayOfTheWeek).dayOfMonth()
    .and()
    .on(_twoWeek.getDate()).dayOfMonth();