-1
<? 
include("commonfile.php");
$start = date("Y-m-d H:i:s");
$end = $_POST['date']." ".$_POST['time'];
if(isset($_POST['productid']) && $_POST['productid']!=""){
    $productid = $_POST['productid'];
    $expdata = getdata("SELECT expire_date,expire_time from tbl_listing_master WHERE listingid=".$productid." AND currentstatus=0");    
    $time_rs = mysql_fetch_array($expdata);
    $expdate = $time_rs[0];
    $exptime = $time_rs[1];
    $end = $expdate." ".$exptime;
}
$n = array("expdate" => $end); 
echo json_encode($n);  
?>

这是我使用 http://keith-wood.name/countdown.html jQuery v1.6.0 的倒计时版本。

4

1 回答 1

1

问题是您的日期解析(我从您的 dup 问题的链接中获取了此代码)。

function updateCountdown(el, date, time, productId) {
    $.ajax({
      type: "POST",
      url: "../coding/fetch_time_forquery.php",
      dataType: "json",
      data: {date: date, time: time, productid: productId },
      success: function(data)
      {
        newYear = new Date (data.expdate);
         $(el).countdown({until:newYear} );
      }

    });
}

您需要在这里解析日期:newYear = new Date (data.expdate);,但是从您的 php 返回的格式是2012-08-31 2:33:35.. 如果您只返回一个时间戳会更容易。

要在 PHP 中执行此操作,您需要将其转换$end为时间戳而不是字符串:

$n = array("expdate" => strtotime($end) . '000' ); // add milliseconds

在js中:

newYear = new Date ( parseInt( data.expdate, 10 ) );

应该管用

于 2012-08-30T19:57:26.943 回答