我有这种时间格式,它存储在我的数据库中..我想将它转换为jQuery倒计时接受的格式..我认为jQuery倒计时接受这种格式
Sun Jan 01 2012 00:00:00 GMT+0800 (Malay Peninsula Standard Time)
但问题是,我的时间格式是这样的:
2011-03-29 00:01:03
为了让jQuery倒计时进行倒计时,我需要将其转换为那种长格式..怎么做?
这是jQuery countdown
的网站答案 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);