每周提醒如何运作?

时间:2012-12-12 12:06:39

标签: javascript dayofweek reminders gettimeofday

是否有每周提醒的算法?

例如,我为周四和周四设置了提醒。我查看“每周”选项 提醒应该在每个星期四发出警报,但这是怎么做到的?

我想到了一个想法,但我想这很愚蠢:

  1. 获取今天的“日子”。
  2. 获取今天的“约会”。
  3. 获取想要的日期号码。
  4. 相互减去两天。
  5. 使用[4]获取当天的日期。
  6. 每次提醒7后增加计数器。
  7. 我甚至不知道这是否有效,我确信有更好的方法可以做到,所以在开始实施之前我需要你的意见。

    PS:我使用JavaScript,因此功能非常有限。

1 个答案:

答案 0 :(得分:2)

目前还不完全清楚你要做什么。

  1. 如果您的代码需要知道是否是星期四,那么使用getDay非常容易,它会为您提供一周中的某一天:

    if (new Date().getDay() === 4) {
        // It's Thursday
    }
    

    day numbers0 =星期日开始。

  2. 如果您的代码需要在给定日期开始查找下一个星期四:

    var dt = /* ...the start date... */;
    while (dt.getDay() !== 4) {
        dt.setTime(dt.getTime() + 86400000)) // 86400000 = 1 day in milliseconds
    }
    

    或当然没有循环:

    var dt = /* ...the start date... */;
    var days = 4 - dt.getDay();
    if (days < 0) {
        days += 7;
    }
    dt.setTime(dt.getTime() + (days * 86400000));
    
  3. 如果您已经有星期四,并且您需要知道下周四的日期:

    var nextThursday = new Date(thisThursday.getTime() + (86400000 * 7));