0

我已经玩这个太久了,我想我最好寻求一些帮助,因为我真的需要继续前进:) 我对 jquery 很陌生

我有显示 Keith Wood 的倒数计时器,但时间不对,未来日期是 3 天后,但我得到 217224 天。日期是 mysql DATETIME 即;2012-11-15 07:00:30

http://keith-wood.name/countdown.html

我只需要显示天、小时、分钟、秒,但是,如果我删除 Y,m 什么都不会显示。这是我的代码,如果有任何帮助,我会非常高兴!

$(function () {
    var austDay = new Date(<?php
    $time = strtotime($row['auto_accept']);
    echo date('Y', $time);
    echo date('m', $time);
    echo date('d', $time-1);
    echo date('H', $time);
    echo date('i', $time);
    echo date('s', $time);?>);
    $('#countdown').countdown({until: austDay, format: 'dHMS'});
});

好的,我似乎可以使用:

$(function () {
var austDay = new Date(<?php
    $endtime = strtotime($row['auto_accept']);
    echo date('Y,m,', $endtime);
    echo (date('j', $endtime)-30);
    echo date(',h,i,s', $endtime);
?>);

$('#countdown').countdown({until: austDay, format: 'dHMS'});
});

正如Tomalak所说,我只需要更好地优化代码,我会查看手册;)

4

1 回答 1

2

首先,阅读如何使用 PHP 的日期函数并弄清楚如何一次性获取日期。这将花费您不超过 10 或 15 分钟的时间,并且会快速向您展示为什么您不需要调用 date 这么多次(并在未来节省您的时间,并在下面向您展示我是如何做到的)。

其次,最好使用 Ajax 调用将值从 PHP 获取到 Javascript。下面的方法有效,但它很丑。

你的PHP:

$timeToConvert = strtotime($row['auto_accept'] . ' -1 day');

你的 JS:

var austDay = new Date(<?php echo $timeToConvert * 1000 ?>);
$('#countdown').countdown({until: austDay});

这应该是你所需要的(我没有测试这个来确定,但它看起来很简单,所以我希望这将适用于你正在使用的插件。)

于 2012-11-15T16:20:45.910 回答