Javascript 如何使用存储在值中的am/pm进行PHP倒计时?

Javascript 如何使用存储在值中的am/pm进行PHP倒计时?,javascript,php,wordpress,Javascript,Php,Wordpress,我想在WordPress小部件中显示基于投票结束日期时间的投票倒计时。我能够将PHP变量传递给JavaScript文件,但它实际上并不像静态倒计时那样工作 1) 我的HTML代码: 2) 我的JavaScript倒数文件每秒调用一次: var countDownDate=新日期(“2018年2月21日16:19”).getTime(); //每1秒更新一次倒计时 var x=setInterval(函数(){ //获取今天的日期和时间 var now=new Date().getTime()

我想在WordPress小部件中显示基于投票结束日期时间的投票倒计时。我能够将PHP变量传递给JavaScript文件,但它实际上并不像静态倒计时那样工作

1) 我的HTML代码:

2) 我的JavaScript倒数文件每秒调用一次:
var countDownDate=新日期(“2018年2月21日16:19”).getTime();
//每1秒更新一次倒计时
var x=setInterval(函数(){
//获取今天的日期和时间
var now=new Date().getTime();
//找出现在和倒计时日期之间的距离
var距离=倒计时日期-现在;
//天、小时、分钟和秒的时间计算
变量天数=数学楼层(距离/(1000*60*60*24));
可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60));
var分钟=数学楼层((距离%(1000*60*60))/(1000*60));
//var秒=数学楼层((距离%(1000*60))/1000);
//在id=“demo”的元素中输出结果
document.getElementById(“demo”).innerHTML=days+d+hours+h
+分钟+“m”;
//如果倒计时结束,写一些文字
如果(距离<0){
净间隔(x);
document.getElementById(“demo”).innerHTML=“过期”;
}
}, 1000);
这很好,但我想让它也能与我的动态值一起工作,我的PHP变量保存轮询结束日期时间是
$poll\u end\u date
,它给出的值类似于“2018年2月9日3:47 pm”

如何根据此变量
$poll end date
值倒计时日、小时、分钟。

您可以使用PHP类将日期转换为所需格式:

<?php
// The date for 'poll_end_date'
$date = 'February 9, 2018 3:47 pm';

// Parse the string based on the expected format
$dtime = DateTime::createFromFormat("F j, Y g:i a", $date);

// Output the date to match the required format
$timestamp = $dtime->format('F j, Y H:i');
?>

然后,您可以在通常的
标记中使用此PHP变量

<script>
    var countDownDate = new Date("<?php echo $timestamp; ?>").getTime();
    // ... your script continues below
</script>

var countDownDate=新日期(“”.getTime();
// ... 您的脚本将在下面继续
这里详细记录了这些方法:


您可以阅读日期格式,例如
fj,yh:i
的工作原理。

我不确定我是否真的理解您的要求,但您是否尝试过将
2018年2月9日下午3:47作为参数传递,而不是
2018年2月21日16:19
?是的,它显示为“NaNd NaNh NaNm”,我只是想转换“2018年2月9日下午3:47”到“2018年2月9日下午3:47”,这样我就可以倒计时了。
<?php
// The date for 'poll_end_date'
$date = 'February 9, 2018 3:47 pm';

// Parse the string based on the expected format
$dtime = DateTime::createFromFormat("F j, Y g:i a", $date);

// Output the date to match the required format
$timestamp = $dtime->format('F j, Y H:i');
?>
<script>
    var countDownDate = new Date("<?php echo $timestamp; ?>").getTime();
    // ... your script continues below
</script>