0

有每周提醒的算法吗?

例如,我为星期四设置了提醒,并检查了“每周”选项。
提醒应该每周四提醒,但是这是怎么做到的呢?

我想了一个主意,但我想这很愚蠢:

  1. 获取今天的“日”。
  2. 获取今天的“日期”。
  3. 获取通缉日数。
  4. 将这两天相减。
  5. 使用 [4] 获取当天的日期。
  6. 每次警报后将计数器增加 7。

我什至不知道这是否可行,我确信有更好的方法来做到这一点,所以在开始实施之前我需要你的意见。

PS:我使用 JavaScript,所以功能非常有限。

4

1 回答 1

2

目前尚不清楚您要做什么。

  1. 如果您的代码需要知道是否是星期四,那真的很容易使用getDay,它会为您提供星期几:

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

    日期编号0= 星期日开头。

  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));
    
于 2012-12-12T12:08:41.250 回答