我使用jquery countdown.js倒计时。我桌面上的所有内容都正确无误。在移动设备(Android)上,倒计时提前一小时。在其他人的手机上,倒计时显示0小时。我究竟做错了什么?我不考虑时区吗?那有关系吗?倒计时是日食(距离现在不到4小时),所以我可以快速使用帮助!
var date = new Date("2017-08-21T13:18:00"); //1:18 p.m. EST
$("#dayElem")
.countdown(date, function(event) {
if (event.strftime('%-D') < 10) {
$(this).text('0' +
event.strftime('%-D')
);
} else {
$(this).text(
event.strftime('%-D')
);
}
});
$("#hourElem")
.countdown(date, function(event) {
if (event.strftime('%-H') < 10) {
$(this).text('0' +
event.strftime('%-H')
);
} else {
$(this).text(
event.strftime('%-H')
);
}
});
$("#minuteElem")
.countdown(date, function(event) {
if (event.strftime('%-M') < 10) {
$(this).text('0' +
event.strftime('%-M')
);
} else {
$(this).text(
event.strftime('%-M')
);
}
});
$("#secondElem")
.countdown(date, function(event) {
if (event.strftime('%-S') < 10) {
$(this).text('0' +
event.strftime('%-S')
);
} else {
$(this).text(
event.strftime('%-S')
);
}
});
答案 0 :(得分:0)
我认为你的假设是正确的。您必须考虑当前时区。 最简单的方法是使用moment.js(https://momentjs.com/)并修改代码如下:
tags$style(HTML(paste0(".irs .irs-single, .irs .irs-bar-edge, .irs .irs-bar {background: ",
bkg_color,";border-top: ",bkg_color,";border-bottom: ",bkg_color,"; border: ",bkg_color,"}")))
另请注意,我以UTC而非EST指定时间。
在我的时区CET中运行代码时,我只得到了零。使用上面的代码时,我发布这个代码时大约需要3小时10分钟。