我正在为我和我学校的人做一个扩展,为了不谈太多细节,它试图保存你的课程,并提前几个月告诉你你即将到来的时间表。这都是可能的,因为我的学校运行在一个“天”系统。这意味着在“第一天”你可能有数学,科学,英语和体育,而在“第二天”你可能有历史,西班牙语,etc...你明白了。无论如何,为了运行这个扩展,我需要跟踪我所在的给定日期。这只有在有人打开扩展时才有可能,扩展运行脚本来检查是否已经过了一天,如果是,将递增变量。但是,我的问题是有些人可能连续很多天都没有打开扩展,导致我的程序丢失了它的日期,使它无用。所以我需要一种方法让我的程序在后台增加日期,而不必打开扩展。另一种方法是以某种方式计算出用户已经离开了多少天,然后做一些数学运算来找出它应该是哪一天。
如果有人能给我一些帮助,将不胜感激。我已经链接了我的一些代码如下。
当用户第一次登录到我的程序时会发生这种情况,保存他们所在的星期几。
var today = new Date()
localStorage.setItem('day-of-week', today.getDay())
每次加载扩展时,这个“检查器”都会运行,如果它注意到本地存储的星期几与当前的星期几有任何不同,它将增加学校的“Day”,然后存储新的星期几。(我学校的日系统只会增加到4,所以一旦达到4,它就会返回到1)
function checkDate(prevDate) {
var today = new Date()
if (today.getDay() != prevDate) {
day = parseInt(day)
if (day == 4) {
day = 1
} else {
day += 1
}
localStorage.setItem('day', day)
localStorage.setItem('day-of-week', today.getDay())
}}
1条答案
按热度按时间mwg9r5ms1#
我想用一种不同的方法来解决这个问题。如果你知道学期的第一天是什么时候(或者你的日程表的参考点是什么日期),你可以把今天的日期和那个日期进行比较。一个函数可以像这样:
这个函数没有考虑周末,因为我不确定你是否需要,但是如果有必要,你可以调整这个函数来考虑周末。如果你确实需要这样做,我个人建议你只重命名
semesterStart
变量,并引用一周的开始。为了确保它能正常工作,我编写了一个简单的循环:
我得到了输出