Javascript 计算到未来日期的时间-在变量中正确设置日期格式有问题

Javascript 计算到未来日期的时间-在变量中正确设置日期格式有问题,javascript,Javascript,我试图计算从现在(用户运行脚本的任何时间)到夏时制(2019年11月3日凌晨2:00)之间的时间 我想我已经很接近了,但是在设置日期变量的格式和正确交互方面遇到了困难。变量dateTime的正确定义是什么,还是我把变量daylightDate搞乱了 function daylightTime() { var today = new Date(); var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate()

我试图计算从现在(用户运行脚本的任何时间)到夏时制(2019年11月3日凌晨2:00)之间的时间

我想我已经很接近了,但是在设置日期变量的格式和正确交互方面遇到了困难。变量
dateTime
的正确定义是什么,还是我把变量
daylightDate
搞乱了

function daylightTime()
{
var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;
document.getElementById("time1").innerHTML = "Current Date and Time: " +dateTime;

var daylightDate = new Date("November 03, 2019 02:00:00");

var delta = Math.abs(daylightDate  - dateTime) / 1000;
// calculate (and subtract) whole days
var days = Math.floor(delta / 86400);
delta -= days * 86400;
// calculate (and subtract) whole hours
var hours = Math.floor(delta / 3600) % 24;
delta -= hours * 3600;
// calculate (and subtract) whole minutes
var minutes = Math.floor(delta / 60) % 60;
delta -= minutes * 60;
// what's left is seconds
var seconds = delta % 60;  // in theory the modulus is not required

document.getElementById("time2").innerHTML = days + " " + hours + " " + minutes + " " + seconds;

}

有打字错误。你不能只减去日期。将日期转换为时间戳。var delta=Math.abs(daylightDate.getTime()-新日期(dateTime.getTime())/1000;谢谢,这就解决了!有打字错误。你不能只减去日期。将日期转换为时间戳。var delta=Math.abs(daylightDate.getTime()-新日期(dateTime.getTime())/1000;谢谢,这就解决了!