我有一个我建立的报告,但问题是数据库中 3 个主要事件的日期时间与系统进程相同,然后如此之快,没有简单的方法,因为我将来自 4 个服务器的数据聚合到一个 jquery 数据表和按日期时间降序排序。
所以我的问题是如何在 PHP(mysql 格式日期时间字符串)中获取一个变量,并将其减少 1 秒?
我有一个我建立的报告,但问题是数据库中 3 个主要事件的日期时间与系统进程相同,然后如此之快,没有简单的方法,因为我将来自 4 个服务器的数据聚合到一个 jquery 数据表和按日期时间降序排序。
所以我的问题是如何在 PHP(mysql 格式日期时间字符串)中获取一个变量,并将其减少 1 秒?
狗鼻子的答案很好。在下面找到使用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”的文档(这可以读作 Period Time 1 秒)
date
一起使用应该strtotime
可以解决问题:
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