javascript - 如何让这个 JavaScript 倒计时使用 UTC 时间?

标签 javascript date time timer countdown

所以我有这个 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);
} 

最佳答案

var end_utc = new Date(end.getUTCFullYear(), end.getUTCMonth(), end.getUTCDate(),  end.getUTCHours(), end.getUTCMinutes(), end.getUTCSeconds());

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

此外,如果你想使用日期的 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 使用 moment: 将输入作为 UTC:http://jsfiddle.net/qzL4rpzg/2/

关于javascript - 如何让这个 JavaScript 倒计时使用 UTC 时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33598047/

相关文章:

php - 如果超过给定时间则停止运行 php 函数

javascript - 显示另一个时区的时间

c++ - 两个独立的 tm 结构相互镜像

javascript - 获取 jQuery 插件的实例

java - 检查日期是否在范围内

sql - 如果同一剪辑存在相同日期,则提出能够添加时间间隔的逻辑#

mysql - 在 MySQL 中根据 YEAR、WEEK 和 WEEKDAY 计算 DATE

javascript - 避免重复的 onclick 语句

javascript - 允许 Vue 2 Select Component 接受一个数组来选择选项

javascript - 验证密码并重新输入密码