所以我有这个 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/