Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理JavaScript和PHP之间的差异';使用JQuery倒计时时的s个月_Php_Javascript_Jquery_Countdown - Fatal编程技术网

处理JavaScript和PHP之间的差异';使用JQuery倒计时时的s个月

处理JavaScript和PHP之间的差异';使用JQuery倒计时时的s个月,php,javascript,jquery,countdown,Php,Javascript,Jquery,Countdown,我从数据库中检索日期(通过查询)。它的格式如下:2013-04-08。在PHP中,我为循环中的每个产品获取promotion\u end\u日期,并添加一个JQuery倒计时脚本。问题是当我调用倒计时函数时: $(".clock").countdown({until: new Date(<?php echo $promo_date;?>)}); $(“.clock”)。倒计时({until:new Date()}); 由于PHP和JavaScript的月份计数方式不同,计

我从数据库中检索日期(通过查询)。它的格式如下:
2013-04-08
。在PHP中,我为循环中的每个产品获取
promotion\u end\u日期
,并添加一个JQuery倒计时脚本。问题是当我调用倒计时函数时:

$(".clock").countdown({until: new Date(<?php echo $promo_date;?>)});    
$(“.clock”)。倒计时({until:new Date()});
由于PHP和JavaScript的月份计数方式不同,计数器的计数时间多为1个月/30天


如何使I
$promo_date
对应于正确的JavaScript月份?

您必须将php日期作为字符串发送到JavaScript

$(".clock").countdown({until: new Date("<?php echo $promo_date;?>")}); 
$(“.clock”)。倒计时({直到:新日期(“”)});

假设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]?>)});
$(“.clock”)。倒计时({until:new Date()});

您应该正确设置日期格式。从上的文档中,您应该根据rfc 2822对其进行格式化

$(".clock").countdown({
    until: new Date('<?php echo date('r', strtotime($promo_date)); ?>')
});
$(“.clock”)。倒计时({
截止日期:新日期(“”)
});

将其转换为正确的格式。
倒计时的日期格式是可配置的。您必须确保在PHP和JS中使用相同的格式。我确信可以配置,但如何配置:)您指的是我可以从查询中获得的unix时间戳(升级结束日期)的字符串?对不起,如果我不明白你的回答,谢谢你,伙计!