【问题标题】:How do I make this JavaScript countdown use UTC time?如何让这个 JavaScript 倒计时使用 UTC 时间?
【发布时间】:2015-11-08 19:26:52
【问题描述】:

所以我有这个 JavaScript 并想使用 UTC 时间。

我想让它使用“Date.UTC”,但我不确定如何实现它。

所以不是这个

CountDownTimer('02/20/2016 10:1 AM', 'EST');

我希望它这样做(UTC 格式)

CountDownTimer('2015, 10, 10', 'EST');

试图弄清楚我需要做些什么来改变它。


CountDownTimer('02/20/2016 10:1 AM', 'EST');
CountDownTimer('02/20/2012 10:1 AM', 'CST');
CountDownTimer('02/20/2012 10:1 AM', 'MST');
CountDownTimer('02/20/2012 10:1 AM', 'PST');

function CountDownTimer(dt, id)
{
    var end = new Date(dt);

    var _second = 1000;
    var _minute = _second * 60;
    var _hour = _minute * 60;
    var _day = _hour * 24;
    var timer;

    function showRemaining() {
        var now = new Date();
        var distance = end - now;
        if (distance < 0) {

            clearInterval(timer);
            document.getElementById(id).innerHTML = 'EXPIRED!';

            return;
        }
        var days = Math.floor(distance / _day);
        var hours = Math.floor((distance % _day) / _hour);
        var minutes = Math.floor((distance % _hour) / _minute);
        var seconds = Math.floor((distance % _minute) / _second);

        document.getElementById(id).innerHTML = days + 'days ';
        document.getElementById(id).innerHTML += hours + 'hrs ';
        document.getElementById(id).innerHTML += minutes + 'mins ';
        document.getElementById(id).innerHTML += seconds + 'secs';
    }

    timer = setInterval(showRemaining, 1000);
} 

【问题讨论】:

    标签: javascript date time timer countdown


    【解决方案1】:
    var end_utc = new Date(end.getUTCFullYear(), end.getUTCMonth(), end.getUTCDate(),  end.getUTCHours(), end.getUTCMinutes(), end.getUTCSeconds());
    

    并使用end_utc 变量。但是在这种情况下,我建议使用moment.js,它可以让您更好地控制dates

    另外,如果你想使用日期的UTC函数,你可以像上面那样做:

    var d = Date.UTC(end.getFullYear(), end.getMonth(), end.getDate(),  end.getHours(), end.getMinutes(), end.getSeconds());
    

    这将为您提供 UTC 中的 unix 时间(毫秒)。

    DEMO 1 使用第一个示例:http://jsfiddle.net/4z5x6go5/ 但是您可能会注意到您插入的日期仍然是您的本地时间,然后它被转换为 UTC。 DEMO 2 使用时刻:将输入作为 UTC:http://jsfiddle.net/qzL4rpzg/2/

    【讨论】:

    猜你喜欢
    • 2022-11-02
    • 2017-11-17
    • 2014-04-11
    • 2013-03-18
    • 2017-03-08
    • 2011-01-14
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多