【问题标题】:Countdown.js adding one extra month out of nowhere?Countdown.js 突然增加了一个月?
【发布时间】:2016-10-10 09:16:55
【问题描述】:

为什么以下不起作用?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Example</title>
</head>
<body>
    <h2 class="counter">
        Time to start: <span id="counter-text"></span>
    </h2>

    <script src="../js/countdown.js"></script>
    <script src="../js/main.js"></script>
</body>

Main.js:

function setTime() {
    var timeUntil = countdown(Date.now(), new Date(2016, 12, 3, 18, 0, 0, 0));

    document.getElementById('counter-text').textContent = timeUntil;
}

setInterval(setTime, 200);

它表示它好像直到 1 月 3 日,而不是 12 月。如果我尝试 11 月、10 月,也会发生同样的情况……总是提前一个月。

截至今天,它输出:

开始时间:85 天 5 小时 46 分 47 秒

而不是预期

开始时间:54 天 5 小时 46 分 47 秒

【问题讨论】:

标签: javascript countdown


【解决方案1】:

Javascript 中的月份从零开始

function setTime() {
    var timeUntil = countdown(Date.now(), new Date(2016, 11, 3, 18, 0, 0, 0));

    document.getElementById('counter-text').textContent = timeUntil;
}

setInterval(setTime, 200);

【讨论】:

    【解决方案2】:

    这个

    new Date(2016, 12, 3, 18, 0, 0, 0));
    

    代表 2017 年 1 月,因为月份从 0 开始,0 - 一月,1 - 二月,...,11 - 十二月

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-27
      • 2019-02-12
      • 2017-03-13
      • 2011-02-21
      • 2018-02-13
      相关资源
      最近更新 更多