所以我有这个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);
}
答案 0 :(得分:2)
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时间(ms)。
DEMO 1使用第一个示例:http://jsfiddle.net/4z5x6go5/但是您可能会注意到,您插入的日期仍然是您当地的时间,然后它将转换为UTC。 DEMO 2使用时刻:将输入为UTC:http://jsfiddle.net/qzL4rpzg/2/