查找PHP中特定时间之前的秒数

时间:2017-06-30 16:16:27

标签: php

我有一个包含600秒(10分钟)的变量。

$_POST['offerEnd']

首先我找出600秒内的时间

$_SESSION['offerEnd'] = date("m/d/Y h:i:s", time() + $_POST['offerEnd']);

这给了我:

[offerEnd] => 06/30/2017 04:31:19 

这是错误的,因为时间应该是17:31:19。

现在,当我加载页面时,我想显示在$ _SESSION [' offerEnd']时间之前剩余的秒数。

我真的不确定怎么做,我想如果现在的时间还在提议结束之前,我已经在if语句中使用它来做某事:

if (new DateTime() > new DateTime($_SESSION['offerEnd'])) {//do something}

但是我怎么能得到这个冒犯的秒数呢?

1 个答案:

答案 0 :(得分:0)

如果您有2个DateTimes,则可以使用getTimeStamp()方法查看从一个到另一个的剩余时间。

$secondsLeft = (new DateTime($_SESSION['offerEnd']))->getTimeStamp() - 
(new DateTime())->getTimeStamp();

您还可以在600秒后使用以下方法构建DateTime对象:

$_SESSION['offerEnd'] = new DateTime();
$_SESSION['offerEnd']->add(new DateInterval('PT'.$_POST['offerEnd'].'S'));