2012-12-12 32 views
0

是否有每周提醒的算法?每周提醒如何工作?

例如,我为周四设置了提醒&我检查“每周”选项。
提醒应该在每个星期四提醒,但是这是如何完成的?

我想到了一个主意,但我想这是非常愚蠢:

  1. 取得今天的“天”。
  2. 获取今天的“日期”。
  3. 获取想要的天数。
  4. 两天相互减去。
  5. 使用[4]获取当天的日期。
  6. 增量每次警报后,计数器,7

我甚至不知道这是否会工作或没有,我敢肯定有更好的方式来做到这一点,所以我才需要你的意见开始实施。

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

+1

想想你的问题以及需要回答的环境。你可能有这方面的知识,但除非你把它作为一个明确的问题一致地记录下来,否则很难专门回答。 –

+1

你能更具体地了解你正在努力完成什么吗?例如,如果你想每七天调用一次函数,你可以在它的结尾处简单地执行'setTimeout(myFunction,3600 * 24 * 7);'。 –

回答

2

这并不完全清楚你想要做什么。

  1. 如果你的代码需要知道它是否是星期四,这是使用getDay真的很容易,它给你一周中的一天:

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

    day numbers开始与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)); 
    
+1

太棒了!非常感谢你......这正是我所需要的。 –

+0

@SanaJoseph:很好,很高兴帮助! –