使用jQuery倒计时插件,如何根据实时时间(不是用户计算机时间)进行倒计时

Using jQuery Countdown plugin, how to make the countdown based on the real time (not user's computer time)

我正在使用 jQuery Countdown plugin。它工作正常,但是当我更改计算机上的时间时,倒计时也会更改。我的意思是,如果用户电脑上设置的时间不准确,倒计时就不可能准确。

我是这样发起的:

$('#counting-down').countdown('2015/4/25 14:30:00', function(event) {
    var $this = $(this).html(event.strftime(''
        + '<div class="days"> <span>%D</span><label>days</label> </div>'
        + '<div class="hours"> <span>%H</span><label>hours</label> </div>'
        + '<div class="minutes"> <span>%M</span><label>minutes</label> </div>'
        + '<div class="seconds"> <span>%S</span><label>seconds</label> </div>'
    ));
});

有什么解决方案可以让这个倒计时基于实时吗?

您可以通过

获取utc日期时间
var d = new Date();
var n = d.toUTCString();

会显示Fri, 10 Apr 2015 09:37:31 GMT.

$('#counting-down').countdown(d.toUTCString(), function(event) {
var $this = $(this).html(event.strftime(''
    + '<div class="days"> <span>%D</span><label>days</label> </div>'
    + '<div class="hours"> <span>%H</span><label>hours</label> </div>'
    + '<div class="minutes"> <span>%M</span><label>minutes</label> </div>'
    + '<div class="seconds"> <span>%S</span><label>seconds</label> </div>'
));

});

希望这是您所需要的。

要获得 100% 准确的时间,您需要使用 api 调用可靠来源或使用其他方法。您可以使用 $.ajax 来做到这一点。或者通过在后端放置代码来获取当前日期。尽管如此,你得到时间和你接收和处理这些数据的时间之间的差异仍然会有轻微的偏移