Jua*_*dim 9 javascript jquery momentjs
我一直在开发一个Web应用程序仪表板,我想知道如何检测这是午夜,以便使用jquery或momentjs重置一些包含前一天数据的数组.
Ion*_*zău 14
用于moment().format("h:mm:ss")以h:mm:ss格式返回时间.
var midnight = "0:00:00";
var now = null;
setInterval(function () {
now = moment().format("H:mm:ss");
if (now === midnight) {
alert("Hi");
}
$("#time").text(now);
}, 1000);
Run Code Online (Sandbox Code Playgroud)
更好的方法是计算直到午夜的秒数.使用MomentJS非常简单且易读:
// returns the number of seconds until next midnight
moment("24:00:00", "hh:mm:ss").diff(moment(), 'seconds');
Run Code Online (Sandbox Code Playgroud)
那么,就这样做:
setTimeout(
midnightTask,
moment("24:00:00", "hh:mm:ss").diff(moment(), 'seconds')
);
function midnightTask() {
/* do something */
}
Run Code Online (Sandbox Code Playgroud)
只有两种方法可以实现这一目标
(1)已经在其他答案中得到证明,这里是(2).
首先要做的是计算到午夜之前的毫秒数,然后将其用作javascripts的参数setTimeout.
setTimeout(function(){
// whatever you want to do at midnight
}, msToMidnight);
Run Code Online (Sandbox Code Playgroud)
在完成该功能的工作后,您可能希望重新计算到下一个午夜的时间并重复该过程.
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |