2013-04-08 33 views
0

我从数据库中检索日期(通过查询)。它有这种格式:2013-04-08。在PHP中,我为循环内的每个产品获得promotion_end_dates并添加一个JQuery倒计时脚本。问题是,当我叫倒计时功能:使用JQuery倒数计时器处理JavaScript和PHP的月份差异

$(".clock").countdown({until: new Date(<?php echo $promo_date;?>)});  

计数器计数1个月/ 30多天,因为PHP和JavaScript之间的月计的不同方式。

如何让我$promo_date对应正确的JavaScript月份?

+1

它转换成合适的格式,[JavaScript的预期(https://developer.mozilla.org/en-US/docs/JavaScript格式化/参考/ Global_Objects /日期)。 – epascarello 2013-04-08 13:28:19

+0

'countdown'的日期格式是可配置的。您必须确保在PHP和JS中使用相同的格式。 – JoDev 2013-04-08 13:31:50

+0

我相信,可以配置,但如何:) – user1820186 2013-04-08 13:33:04

回答

0

你必须PHP日期发送到JavaScript作为一个字符串

$(".clock").countdown({until: new Date("<?php echo $promo_date;?>")}); 
+0

你的意思字符串像我可以从查询中获得与unix_timestamp(promotion_end_date)?对不起,如果我不明白你 – user1820186 2013-04-08 13:39:25

1

给您的MySQL表保存日期在YYYY-mm-dd格式

添加您的MySQL查询后下面

$promo_date_exp = explode('-', $promo_date); 

和用这条线替换你的特定的Javascript行

$(".clock").countdown({until: new Date(<?php echo $promo_date_exp[0].','. ($promo_date_exp[1]- 1).','.$promo_date_exp[2]?>)}); 
+0

Ejay + 1为您的答案,谢谢队友! – user1820186 2013-04-08 13:44:24

0

你应该正确地格式化你的日期。从Date的文档,您应根据RFC 2822

$(".clock").countdown({ 
    until: new Date('<?php echo date('r', strtotime($promo_date)); ?>') 
});