如何计算从一天开始以来的毫秒数?

时间:2018-01-06 13:53:31

标签: javascript date time

我已指定某一天的特定时间。现在我想计算从特定日期开始到当天设定时间的毫秒数?我希望用下面的代码做到这一点,但它没有显示任何内容?我做错了什么?

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的时间。但没有显示结果......

2 个答案:

答案 0 :(得分:2)

您的代码只有一个问题,那就是您已将.getTime()的结果分配给countDownDate,这将是一个数字。

这就是为什么JavaScript无法调用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();

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

<div id="result">
  <div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

你的逻辑很好。唯一的问题是这一行:

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

自您使用.getTime()后,变量countDownDate不再是日期。因此,在以下声明中countDownDate.getFullYear()并且前进不会起作用。只需删除.getTime(),它就会按预期运行:

&#13;
&#13;
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)
&#13;
&#13;
&#13;