如何跟踪每X周发生的事件?

时间:2015-08-13 13:35:49

标签: javascript php jquery date

我在Laravel,PHP,Jquery中构建了一种日历应用程序。用户可以设置定期事件。

在日常活动中,他们可以选择他们希望活动发生的那一天。在月度活动中,也可以,他们可以选择活动重新开始的月份。

在每周活动中,有一个问题:由于我们没有真正跟踪日历中的周数,因此我无法确定如何使其重复出现。

我的第一个想法是弄清楚这个月的一周,然后让他们选择他们希望它发生的那一周。不会工作,因为几个月有不同的周数 - 有些发生在4周内,有些发生在5周内,有些发生在6周内(比如这一周)。获取我正在使用的月份的代码:

Date.prototype.getMonthWeek = function(){
    var firstDay = new Date(this.getFullYear(), this.getMonth(), 1).getDay();
    return Math.ceil((this.getDate() + firstDay)/7);
}

$("#result").html("Today is week " + new Date().getMonthWeek() );

然后我的想法是从特定日期开始偶数或奇数周。这将限制我将事件设置为每周或每两周重复一次,但是可以正常工作,直到我认为除了创建事件之外,用户无法确定哪一周是偶数还是奇数,测试它是否重新出现。 / p>

然后,获得一年中的一周。甚至几周与奇数周相比。但是,如果这一年有一个奇数周,那将在1月份发生两次。

我正在寻找实现这一目标的最简单方法,而且我真的没有脑力,任何可能的解决方案?

1 个答案:

答案 0 :(得分:0)

你不能使用像PHP's date这样的功能吗?这可以选择一年中的一周。

如果你想去js路线,我强烈推荐moment.js,你可以这样做:moment().add(‘weeks’, 1)