我知道这个问题已经被问过很多次了,因为我在 google 和 stackoverflow 上都找到了一些。
但他们都没有解释如何在我的 php 中格式化我的日期时间,以便它与 jquery 倒数计时器结合使用。所以我要在这里问它,希望有人能帮我解释一下。
基本上我想做的是创建一个倒数计时器,它将与mysql datetime一起使用。
日期时间存储在 mysql 中,所以所有需要做的就是在我的 php 中获取正确的格式,以便倒数计时器可以使用它。
我正在使用这个插件: http: //keith-wood.name/countdown.html
这是我到目前为止所拥有的:
PHP 格式化:
$end_date = date("m d Y H:i:s T", strtotime($row["end_date"]));
jQuery/Javascript 代码:
<script type="text/javascript">
$(function(){
var countdown = $('#countdown'),
ts = new Date(<?php echo $end_date * 1000; ?>),
finished = true;
if((new Date()) > ts)
{
finished = false;
}
$('#defaultCountdown').countdown({
timestamp : ts,
callback : function(days, hours, minutes, seconds)
{
var message = "";
message += days + " days, ";
message += hours + " hours, ";
message += minutes + " minutes, ";
message += seconds + " seconds ";
message = (finished ? "Countdown finished" : "left untill the New Year");
countdown.html(message);
}
});
});
</script>
当我运行这段代码时,我得到的只是0 hours, 0 minutes, 0 seconds.
我只能怀疑问题出在我的 php 部分中格式化日期时间!
还是我也错过了其他东西?
好的,我已设法将代码缩小为:
<script type="text/javascript">
$(document).ready(function () {
$('#defaultCountdown').countdown({
until: new Date(<?php echo $end_date; ?>),
compact: true
});
});
</script>
并将php更改为:
$end_date = date("Y, n, j, G, i, s", strtotime($row["end_date"]));
但是,倒计时计时器中显示的时间是错误的(偏离)。
是$end_date
:September 22 2013 23:30:00 GMT
在 mysql 日期时间
但 jquery 倒数计时器显示:
34d 06:21:48
2013, 9, 22, 23, 30, 00
34 天零 6 小时胡说八道是绝对错误的!
我现在在这里做错了什么?