【问题标题】:Subtracting DATETIME from future date - PHP从未来日期减去 DATETIME - PHP
【发布时间】:2015-07-13 01:53:57
【问题描述】:

我的数据库中有一个日期时间,每当用户列出要拍卖的物品时就会存储该日期时间。我正在尝试制作某种计时器,以向用户显示拍卖将持续多长时间。我假设我应该从某个未来日期中减去日期时间并回显结果。如果有更好的方法来做到这一点——我确信有——请告诉我。

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

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

【问题讨论】:

  • strtotime 返回两个日期之间的秒数。你减去两个静态日期,所以数字不会改变。我认为$theDay 应该是当前日期和时间,而不是添加时间

标签: php counter


【解决方案1】:

您可能需要DateTime::diff

$expireDay=new DateTime('2015-07-20 20:12:50');
$theDay=new DateTime('now');
$timeToEnd=$expireDay->diff($theDay);
echo $timeToEnd->format('%R%a days');

【讨论】:

  • 一时间,我认为这工作得很好,但似乎 $timetoEnd 显示的是负数。
  • @LuluSparks,您可能需要像这样交换 $theDay$expireDay$timeToEnd=$theDay->diff($expireDay);
【解决方案2】:

你打算做的是

$expireDay=strtotime('2015-07-20 20:12:50');
$theDay=time();
$timeToEnd=$expireDay - $theDay;
echo "$t

因为你是减去两个常数。它必须与当前时间进行比较。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 2016-08-29
    • 2022-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多