从php日期时间中减去时间

时间:2013-06-26 15:51:45

标签: php

我有一个我建的报告,但问题是数据库中3个主要事件的日期时间与系统进程相同,那么快,没有简单的方法,因为我将数据从4个服务器汇总到一个jquery数据表并按日期时间降序排序。

所以我的问题是如何在PHP中使用变量(mysql格式的日期时间字符串),并将其减少1秒?

2 个答案:

答案 0 :(得分:4)

认可答案很好。使用DateTime在下面找到一种方法 对于那些对strtotime不太自信的人: - )

$string = "2013-06-26 18:00:00";

$date = DateTime::createFromFormat('Y-m-d H:i:s', $string);
$date->sub(new DateInterval('PT1S'));//substract 1 sec

echo $date->format('Y-m-d H:i:s'); //print : 2013-06-26 17:59:59

关于“PT1S”here的文件(这可以读作期间1秒)

答案 1 :(得分:1)

使用datestrtotime应该可以解决问题:

http://php.net/manual/de/function.strtotime.php

$string = "2013-06-26 18:00:00"; //can have any (valid) format

$subSeconds = 1;

$date = date("Y-m-d H:i:s", strtotime($string . " - {$subSeconds} second"));
echo $date."<br />"; //2013-06-26 17:59:59