我已指定某一天的特定时间。现在我想计算从特定日期开始到当天设定时间的毫秒数?我希望用下面的代码做到这一点,但它没有显示任何内容?我做错了什么?
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的时间。但没有显示结果......
答案 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;
答案 1 :(得分:0)
你的逻辑很好。唯一的问题是这一行:
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)
&#13;