给定时间前5分10秒

时间:2015-04-03 11:57:57

标签: php codeigniter datetime

我需要搞清楚

  • 在给定时间前5分钟
  • 在给定时间前10秒 我试过这段代码

    echo $time.'<br />'; 
    echo 'fivemin'.$fivemin= date("H:m:s",strtotime("-5 minutes",strtotime($time))); 
    echo '<br />tensec'.$tensec=$datetime_from = date("H:m:s",strtotime("-10 seconds",strtotime($time)));
    

结果

15:55:44
fivemin 15:04:44
tensec 15:04:34

1 个答案:

答案 0 :(得分:4)

您可以使用DateTime::sub方法。

// Set the initial date/time
$date = new DateTime('2015-04-03 12:00:00');

// Go back 5 minutes
$date->sub(new DateInterval('PT5M'));

// $date is now 2015-04-03 11:55:00, go back another 10 seconds...
$date->sub(new DateInterval('PT10S'));

你也可以把两个潜艇合二为一(我只是分开它们,这样你就可以更好地了解发生了什么,你可能想在潜艇之间运行一些动作):

$date->sub(new DateInterval('PT5M10S')); // 5 minutes and 10 seconds ago

一次性减去5分10秒。

然后,您最终将$date作为DateTime对象,现在代表2015-04-03 11:54:50。