Javascript new Date() - 获取一天结束前的秒数

lic*_*ode 2 javascript date settimeout

使用基于 javascript-canvas 的时钟(经典模拟时钟视图),还在时钟下方显示当前日期。

我已经有了这段代码来获取 JavaScript 中的当前时间:

   // get current time
    var date = new Date();
    var hours = date.getHours();
    var minutes = date.getMinutes();
    var seconds = date.getSeconds();
    hours = hours > 12 ? hours - 12 : hours;
    var hour = hours + minutes / 60;
    var minute = minutes + seconds / 60;
Run Code Online (Sandbox Code Playgroud)

效果很好,只是我不知道如何在一天结束之前以秒为单位获取数字,因此我可以在 00:00h 运行 ajax 请求来更新当前日期。

问题是,如何在 JavaScript 中轻松获取一天结束前的秒数?

我计划在时钟加载剩余秒数后启动 setTimeout() 函数,以在需要时更新日期。

小智 7

我假设您想要更改的日期不是来自这些值。您需要在与该时钟不直接相关的某个地方更改它?

我建议添加一个函数来检查日期是否已更改,并在时钟刷新时包含它。

无论如何,获取一天结束的秒数应该是这样的

var secondsUntilEndOfDate = ( (24*60*60) - ( (hours*60*60) + (minutes*60) + seconds ) );
Run Code Online (Sandbox Code Playgroud)

JavaScript:

var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
var secondsUntilEndOfDate = (24*60*60) - (h*60*60) - (m*60) - s;
Run Code Online (Sandbox Code Playgroud)