serverSync jQuery倒数计时无法正常工作

时间:2019-05-13 21:20:26

标签: jquery jquery-plugins jquery-countdown

我正在尝试使用http://keith-wood.name/countdown.html基于服务器的当前时间和从mysql返回的datetime变量来创建计时器倒计时。

日期已正确接收为javascript变量。

var target = '2019-05-16 14:00:00'; /* end time */
var server = '2019-05-13 16:44:42'; /* server time*/

function formatTime()函数可以正确设置时间格式,否则倒数计时将根本无效。

function formatTime(timestamp) {
    var regex=/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/;
    var parts=timestamp.replace(regex,"$1 $2 $3 $4 $5 $6").split(' ');
    return new Date(parts[0],parts[1]-1,parts[2],parts[3],parts[4],parts[5]);
}

代码似乎忽略了serverSync值,而是根据用户本地时间开始倒计时。

$('#selector').countdown({serverSync: formatTime(server), until: formatTime(target), format: 'dHMS'});

我也尝试过将结果相同的倒车订单

$('#selector').countdown({until: formatTime(target), serverSync: formatTime(server), format: 'dHMS'});

如果我发出警报,则会获得正确的格式:

alert(formatTime(server));
Mon May 13 2019 16:44:42 GMT-0600 (Mountain Daylight Time)

alert(formatTime(target));
Thu May 16 2019 14:00:00 GMT-0600 (Mountain Daylight Time)

但是计数器正在从用户本地时间开始递减计数

2 days  23 hours  15 min  18 seconds

我在这里做错了什么?我还要补充一点,尽管事实是从服务器收到了正确的日期/时间-时区似乎没有。应该是EDT,而不是MDT。不知道这是否是导致错误的原因,但是我的服务器在我检查时会报告EDT

date
从命令行

0 个答案:

没有答案