在 javascript 24 小时倒计时中使用所需时区或偏移倒计时,使其在 11:00 当地时间而不是 00:00 当地时间达到 00:00
Use desired timezone in javascript 24 hour countdown or offset the countdown so it hits 00:00 at 11:00 local time instead of at 00:00 local time
我有这个 24 小时循环倒计时,我需要它每天在 11:00 重置,而不是像现在那样在 00:00 重置,现在它使用本地时区,所以要么必须将它使用的时区或时间更改 11 小时。
接下来我需要做的是格式化它,这样当小时和分钟达到一个数字值时,它将在该数字之前用零格式化,所以 05:02:55 而不是 5:2:55 像现在。
有人能帮我吗?特纳克斯
这是脚本:
在这里写下:http://codepen.io/anon/pen/bWGRoa
setInterval(function time(){
var d = new Date();
var hours = 23 - d.getHours();
var min = 60 - d.getMinutes();
if((min + '').length == 10){
min = '0' + min;
}
var sec = 60 - d.getSeconds();
if((sec + '').length == 1){
sec = '0' + sec;
}
jQuery('#the-final-countdown p').html(hours+':'+min+':'+sec)
}, 1000);
要忽略用户的时区,您需要使用 Date
的 UTC 版本。请记住,您为翻转设置的时间也是 UTC。
要即使在夏令时更改期间也能获得准确的持续时间,您应该坚持使用日期算法。
function time() {
var d1 = new Date();
var d2 = Date.UTC(d1.getUTCFullYear(),
d1.getUTCMonth(),
d1.getUTCDate() + (d1.getUTCHours() < 11 ? 0 : 1),
11);
var dh = d2 - d1;
var hours = Math.floor(dh / 3600000);
var dm = dh - 3600000 * hours;
var min = Math.floor(dm / 60000);
var ds = dm - 60000 * min;
var sec = Math.floor(ds / 1000);
var dmilli = ds - 1000 * sec;
setTimeout(time, dmilli);
hours = ('0' + hours).slice(-2);
min = ('0' + min).slice(-2);
sec = ('0' + sec).slice(-2);
document.querySelector('#the-final-countdown p').innerHTML = hours + ':' + min + ':' + sec;
}
time();
d2
是 Date
计数器将翻转。相应地进行调整。
作为奖励,它会重复调用 setInterval()
,以便倒计时与挂钟同步。
我有这个 24 小时循环倒计时,我需要它每天在 11:00 重置,而不是像现在那样在 00:00 重置,现在它使用本地时区,所以要么必须将它使用的时区或时间更改 11 小时。
接下来我需要做的是格式化它,这样当小时和分钟达到一个数字值时,它将在该数字之前用零格式化,所以 05:02:55 而不是 5:2:55 像现在。 有人能帮我吗?特纳克斯
这是脚本:
在这里写下:http://codepen.io/anon/pen/bWGRoa
setInterval(function time(){
var d = new Date();
var hours = 23 - d.getHours();
var min = 60 - d.getMinutes();
if((min + '').length == 10){
min = '0' + min;
}
var sec = 60 - d.getSeconds();
if((sec + '').length == 1){
sec = '0' + sec;
}
jQuery('#the-final-countdown p').html(hours+':'+min+':'+sec)
}, 1000);
要忽略用户的时区,您需要使用 Date
的 UTC 版本。请记住,您为翻转设置的时间也是 UTC。
要即使在夏令时更改期间也能获得准确的持续时间,您应该坚持使用日期算法。
function time() {
var d1 = new Date();
var d2 = Date.UTC(d1.getUTCFullYear(),
d1.getUTCMonth(),
d1.getUTCDate() + (d1.getUTCHours() < 11 ? 0 : 1),
11);
var dh = d2 - d1;
var hours = Math.floor(dh / 3600000);
var dm = dh - 3600000 * hours;
var min = Math.floor(dm / 60000);
var ds = dm - 60000 * min;
var sec = Math.floor(ds / 1000);
var dmilli = ds - 1000 * sec;
setTimeout(time, dmilli);
hours = ('0' + hours).slice(-2);
min = ('0' + min).slice(-2);
sec = ('0' + sec).slice(-2);
document.querySelector('#the-final-countdown p').innerHTML = hours + ':' + min + ':' + sec;
}
time();
d2
是 Date
计数器将翻转。相应地进行调整。
作为奖励,它会重复调用 setInterval()
,以便倒计时与挂钟同步。