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

时间:2011-03-28 10:54:19

标签: php javascript jquery date time

我有这种时间格式,它存储在我的数据库中..我想将它转换为jQuery倒计时接受的格式..我认为jQuery倒计时接受这种格式

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

但问题是,我的时间格式是这样的:

2011-03-29 00:01:03

为了让jQuery倒计时进行倒计时,我需要将其转换为那种长格式..怎么做?

这是jQuery countdown

的网站

2 个答案:

答案 0 :(得分:3)

拆分格式然后创建一个新的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])
});

答案 1 :(得分:2)

您不需要那种长格式,这就是您尝试打印Javascript Date对象时输出的格式。

您需要创建一个Javascript Date object

这样做的本地方式是这样的:

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

注意:月份为零索引。即1月为0,2月为1,12月为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);