我已经指定了特定日期的特定时间。现在,我想计算从该特定日期开始到该日期的毫秒数吗?我希望使用下面的代码来做到这一点,但是什么也没显示?我究竟做错了什么?

var now = new Date().getTime();
var oneday = 1000 * 60 * 60 * 24;
var countDownDate = new Date("January 10, 2018 00:01").getTime();
var countDownStart = new Date(countDownDate.getFullYear(), countDownDate.getMonth(), countDownDate.getDate(), 0, 0, 0, 0);
var countDownTime = countDownDate.getTime() - countDownStart.getTime();

var div = document.getElementById('result');
div.innerText = countDownTime;


我指定countDownDate。然后,我将该countDownDate的开始标记为变量countDownStart。接下来,我通过从countDownDate中减去countDownStart来计算从1月10日的00:00到1月10日的00:01所经过的时间。但是没有显示结果...

最佳答案

您的逻辑在这里很好。唯一的问题是此行:

var countDownDate = new Date("January 10, 2018 00:01").getTime();


由于使用了.getTime(),因此变量countDownDate不再是日期。因此,在下面的语句中,countDownDate.getFullYear()和前进将无法正常工作。只需删除.getTime(),它将按预期工作:



var now = new Date().getTime();
var oneday = 1000 * 60 * 60 * 24;
var countDownDate = new Date("January 10, 2018 00:01");
var countDownStart = new Date(countDownDate.getFullYear(), countDownDate.getMonth(), countDownDate.getDate(), 0, 0, 0, 0);
var countDownTime = countDownDate.getTime() - countDownStart.getTime();

console.log(countDownTime)

07-26 01:06