Как преобразовать формат времени, который я получил из PHP, в формат, который принимает обратный отсчет jQuery - PullRequest
0 голосов
/ 28 марта 2011

У меня есть такой формат времени, он хранится в моей базе данных .. И я хочу преобразовать его в формат, который принимает обратный отсчет jQuery .. Я думаю, что обратный отсчет jQuery принимает этот тип формата

Sun Jan 01 2012 00:00:00 GMT+0800 (Malay Peninsula Standard Time)

Но проблема в том, что мой формат времени такой:

2011-03-29 00:01:03

Для того, чтобы обратный отсчет в jQuery сделал обратный отсчет, мне нужно преобразовать его в этот длинный формат .. Как это сделать?

Вот сайт jQuery Обратный отсчет

Ответы [ 2 ]

3 голосов
/ 28 марта 2011

Разделите ваш формат, затем создайте новую Date () и передайте ее конструктору обратного отсчета:

$dateAndTime = '2011-03-29 00:01:03'.split(" ");
$date = $dateAndTime[0].split("-");
$time = $dateAndTime[1].split(":");
// Date(year, month, day, hours, minutes, seconds)

$(selector).countdown({
     since: new Date( $date[0], (intval($date[1]) - 1), $date[2], $time[0], $time[1], $time[2])
});
2 голосов
/ 28 марта 2011

Вам не нужен этот длинный формат, это именно тот формат, который выводится, когда вы пытаетесь напечатать объект Javascript Date.

Вам необходимо создать Javascript Объект Date

Родной способ сделать это так:

var date = new Date([year], [month], [day]);

Примечание: месяц проиндексирован на ноль. т. е. январь равен 0, февраль - 1, декабрь - 11.

Так что, если вы выплевываете это, используя php.

$date = new DateTime('2011-03-29 00:01:03');
printf('var date = new Date(%d, %d, %d);', 
    $date->format('Y'),
    $date->format('n') - 1,
    $date->format('j'),
    $date->format('H'),
    $date->format('i'),
    $date->format('s')
);

В качестве альтернативы вы можете передать его с помощью json:

json_encode(array(
    'year' => $date->format('Y'),
    'month' => $date->format('n') - 1,
    'day' => $date->format('j')
    'hour' => $date->format('H'),
    'minute' => $date->format('i'),
    'second' => $date->format('s')
));

затем создайте дату с помощью Javascript:

var date = new Date(json.year, json.month, json.day, 
    json.hour, json.minute, json.second);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...