Javascript 如何在第二天的第一秒钟重新加载页面?午夜?

Javascript 如何在第二天的第一秒钟重新加载页面?午夜?,javascript,Javascript,我有一个仪表板页面,用户在电视上通宵打开 我注意到昨晚有一个bug,它需要重新加载,一旦它检测到新的一天。 假设今天是4/29。因此,就在4/30的第一秒,我需要重新加载该页面。 我在应用程序中使用moment.js。我不确定是在午夜12:00 PM还是在12:01 AM加载页面。我担心,当我在12:00下午做这件事时,它仍然认为这一天是4/29使得重新加载永远不会发生,错误你可能会在加载页面时存储当前日期,如果日期更改,这意味着“第二天”开始 const getDate=()=>moment(

我有一个仪表板页面,用户在电视上通宵打开

我注意到昨晚有一个bug,它需要
重新加载
,一旦它检测到新的一天。 假设今天是
4/29
。因此,就在
4/30
的第一秒,我需要重新加载该页面。
我在应用程序中使用moment.js。我不确定是在午夜
12:00 PM
还是在
12:01 AM
加载页面。我担心,当我在12:00下午做这件事时,它仍然认为这一天是
4/29
使得重新加载永远不会发生,错误你可能会在加载页面时存储当前日期,如果日期更改,这意味着“第二天”开始

const getDate=()=>moment().format('yyyyy-MM-DD'))
const pageLoadDate=getDate()//存储当前日期,例如2021-04-29
设置间隔(()=>{
如果(pageLoadDate!==getDate()){
location.reload()
}
}, 60000)

完全不需要时间,这里有一个普通的解决方案,如果时间是23:59,它将重新加载页面,并将每秒检查是否正确

您可以将时间间隔延长几秒或每半分钟一次,如果(nowHour==23&&nowMinuts==59)

如果您还需要以秒为目标,则将其包括在
If
中,并每隔一秒留出间隔。 但是,如果您包括第二个cheeking,那么执行:
if(nowHour==23&&nowMinuts==59&&nowSecunds>=55)
使用
=
以确保它将在5秒钟的窗口内启动,以防万一

但我相信你只要几分钟就可以了

setInterval(函数(){
让nowHour=new Date().getHours()
设nowMinuts=new Date().getMinutes()
设nowSecunds=new Date().getSeconds()
console.log(“小时”+现在小时+“分钟”+现在分钟+“秒数”+现在秒数)
如果(nowHour==23&&nowMinuts==59){
location.reload();
}

}, 1000);哦,伙计,从现在开始把它设置为min,看看它是否会重新加载。只需像世界其他地方一样切换到24小时,并将其设置为00:00:01重新加载,如果时间是00:00:01//重新加载。。。请记住,如果需要以秒为目标,则必须每秒运行此函数。我建议修复此错误,而不是实施类似的解决方法。@ikiK每秒运行一次吗?只做if检查还不够?@cyb3rZ不,你需要每秒更新一次当前时间来比较它,@trincot我也愿意这么做,这不是一个简单的方法。当日期值更新后,应用程序在白天没有/需要刷新页面,它就搞砸了。我有
window.setInterval(函数(){
它与您的
setInterval()相同吗
虽然只编写代码的人可能会解决他们不受欢迎的问题,但请解释代码,正如您现在在评论中看到的那样,OP需要帮助理解需要做什么。这样他可以为下次学习。@cyb3rZ
window.setInterval===setInterval
=
true
window
在Javascript中起到全局作用。例如..
global此
也等于
窗口