У меня такой формат времени, он хранится в моей базе данных. И я хочу преобразовать его в формат, который принимает обратный отсчет jQuery. Я думаю, что обратный отсчет jQuery принимает этот вид формата
Sun Jan 01 2012 00:00:00 GMT+0800 (Malay Peninsula Standard Time)
Но проблема в том, что мой формат времени таков:
2011-03-29 00:01:03
Чтобы обратный отсчет jQuery сделал обратный отсчет, мне нужно преобразовать его в этот длинный формат .. Как это сделать?
Вот сайт обратного отсчета jQuery
Вы не нуждаетесь в этом в таком длинном формате, это то, что является только форматом, который выводится при попытке распечатать объект Date Javascript.
Вам нужно создать объект Date Javascript
Собственный способ сделать это так:
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') );
-$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') );
-$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') );
-$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') );
-$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') );
-$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);
Разделите свой формат, затем создайте новую дату () и передайте ее конструктору обратного отсчета:
$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]) });