3

我使用 ths 方法来查找两个时间戳之间的差异并获取这两个时间之间的秒数,然后像计数器一样用 jquery 刷新信息。

$diff = strtotime(date('Y-m-d H:i:s')) - strtotime('2014-06-25 14:50:03');
$time = intval(date('s', $diff));
echo $time;

当差值超过 60 秒时,$time 回到 0,就像重置一样。

例如,我想显示 1 min XX s

4

3 回答 3

5

sfor 标志date()永远不会返回大于 59 的值,因为它只表示给定时间的当前秒数,在滚动到新的分钟之前永远不会超过 59 。

如果您想要总秒数,您实际上可以删除第二行代码,因为两个 Unix 时间戳之间的差异始终以秒为单位:

$time = strtotime(date('Y-m-d H:i:s')) - strtotime('2014-06-25 14:50:03');
echo $time;

如果您想将其显示为分钟和秒,您可以使用DateTime()它为此提供更好的工具:

$now = new DateTime();
$then = new DateTime('2014-06-25 14:50:03');
$diff = $now->diff($then);
echo $diff->format('%i minutes %s seconds');
于 2014-06-25T12:57:39.093 回答
5

格式化日期

$diff = strtotime(date('Y-m-d H:i:s')) - strtotime('2014-06-25 14:50:03');
$time = date('i:s', $diff);
echo $time;
于 2014-06-25T12:59:02.907 回答
0

通过时间像 1 和现在 2

function diffrencePassTimeAction($DataTime){
    $im = $DataTime - strtotime("now");
  return $im;
}

未来时间像 2 和现在 1

function diffrenceFuturTimeAction($DataTime){
    $im = strtotime("now") - $DataTime;
  return $im;
}

这个函数删除(-less)

function diffrencePassTimeAction($DataTime){
    if ($DataTime > 0)
        return $DataTime - strtotime("now");
    else
        return strtotime("now"); // OR return 0;
}
于 2020-08-01T23:43:51.280 回答