PHP 5.2。17日期时间差异

时间:2014-06-19 13:18:58

标签: php datetime

首先,在有人写这篇文章之前,我知道有很多关于它的主题,我已经检查了很多它们,但对我来说没什么用。

我有mysql 2 datetime字段(date_in,date_out)我只需要从date_out中减去日期,这在php 5.3中很容易,但我在someones服务器上并且无法更新它...两个字段中的日期是格式化的像这样(2014-06-02 16:43:47)

下面的示例可以正常工作(我发现它在堆栈的某个地方)

$start = new DateTime('2010-10-12');
$end = new DateTime();
$days = round(($end->format('U') - $start->format('U')) / (60*60*24));

但是当我从数据库更改$ start和$ end到我的数据时,最后一行$ days抛出错误( - >格式('U'))似乎是个问题。如何解决这个问题?

(结束/开始之间的差异最多不会超过小时)

1 个答案:

答案 0 :(得分:1)

我终于弄明白了!

$date_inA = $sql_array[3];
$date_inB = new DateTime($date_inA);
$date_outA = $sql_array[4];
$date_outB = new DateTime($date_outA);

$diff = round(($date_outB->format('U') - $date_inB->format('U')) / (60*60*24));

我需要将字符串对象值更改为datetime对象,我认为它已经是DB中的日期时间对象...