обратный отсчет jquery для serverSync не работает должным образом - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь использовать http://keith -wood.name / countdown.html для создания таймера обратного отсчета на основе текущего времени сервера и переменной datetime, возвращенной из mysql.

Даты правильно принимаются в виде переменных javascript.

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

Функция 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

из командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...