如何将我从PHP获得的时间格式转换为jQuery倒计时接受的格式

I have this kind of time format, it is stored in my database.. And I want to convert it to a format that jQuery countdown accepts.. I think jQuery countdown accepts this kind of format

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

But the problem is, my time format is like this:

2011-03-29 00:01:03

In order for jQuery countdown to make a countdown, I need to convert that to that long format.. How to do it?

Here's the website of jQuery countdown

You don't need it in that long format, that is what is just the format that is output when you try to print a Javascript Date object.

You need to create a Javascript Date object

The native way to do that is like so:

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

Note: the month is zero indexed. i.e. January is 0, February is 1, December is 11.

So if you were spitting this out using 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')
);

Alternatively you could pass it using 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')
));

then create the Date with Javascript:

var date = new Date(json.year, json.month, json.day, 
    json.hour, json.minute, json.second);

Split your format then create a new Date() and pass it to the countdown constructor:

$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])
});