Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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
从未来日期中减去日期时间-PHP_Php_Counter - Fatal编程技术网

从未来日期中减去日期时间-PHP

从未来日期中减去日期时间-PHP,php,counter,Php,Counter,我的数据库中有一个datetime,每当用户列出要拍卖的物品时,它就会被存储。我正在尝试制作一个计时器,它可以向用户显示拍卖会持续多长时间。我假设我应该从未来的某个日期中减去日期时间,然后重复结果。如果有更好的方法——我相信有——请告诉我 这就是我一直试图使用的代码。目前,结果是一个长期的数字,永远不会改变 $expireDay=strtotime('2015-07-20 20:12:50'); $theDay=strtotime($row['dateadded']); $timeToEnd=$

我的数据库中有一个datetime,每当用户列出要拍卖的物品时,它就会被存储。我正在尝试制作一个计时器,它可以向用户显示拍卖会持续多长时间。我假设我应该从未来的某个日期中减去日期时间,然后重复结果。如果有更好的方法——我相信有——请告诉我

这就是我一直试图使用的代码。目前,结果是一个长期的数字,永远不会改变

$expireDay=strtotime('2015-07-20 20:12:50');
$theDay=strtotime($row['dateadded']);
$timeToEnd=$expireDay - $theDay;
echo "$timeToEnd";

你打算做的是

$expireDay=strtotime('2015-07-20 20:12:50');
$theDay=time();
$timeToEnd=$expireDay - $theDay;
echo "$t
实际上,你是在减去两个常数。必须将其与当前时间进行比较。

您可能需要


strotime
返回两个日期之间的秒数。你要减去两个静态日期,这样数字就不会改变。我认为,
$theDay
应该是当前日期和时间,而不是它被添加到某个时刻时,我认为它工作得很好,但是$timetoEnd似乎显示了一个负数。@lululusparks,您可能需要像这样交换
$theDay
$expireDay
$timetoEnd=$theDay->diff($expireDay)
$expireDay=new DateTime('2015-07-20 20:12:50');
$theDay=new DateTime('now');
$timeToEnd=$expireDay->diff($theDay);
echo $timeToEnd->format('%R%a days');