PHP 5.2.17日期时间差

PHP 5.2.17日期时间差,php,datetime,Php,Datetime,首先,在任何人写它之前,我知道已经有很多关于它的话题了,我已经检查了很多,但不知怎么的,没有什么适合我的 我在mysql中有2个datetime字段(date_in,date_out),我只需要从date_out中减去date in,这在PHP5.3中很简单,但我在别人的服务器上,无法更新它。。。两个字段中的日期格式如下(2014-06-02 16:43:47) 下面的示例可以正常工作(我在堆栈的某个地方找到了它) 但当我从DB中更改数据的$start和$end时,最后一行$days抛出了一个错

首先,在任何人写它之前,我知道已经有很多关于它的话题了,我已经检查了很多,但不知怎么的,没有什么适合我的

我在mysql中有2个datetime字段(date_in,date_out),我只需要从date_out中减去date in,这在PHP5.3中很简单,但我在别人的服务器上,无法更新它。。。两个字段中的日期格式如下(2014-06-02 16:43:47)

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

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


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

我终于弄明白了

$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中的date time对象了…

尝试使用碳元素来处理这些内容:@johncode cough 5.2.17cough@DaveRandom我不认为该代码中有任何东西在5.2中不可用。我怀疑他们的DB值就是问题所在。。你的问题在别处。@Fred ii-现代医学的奇迹!:)太好了+我很高兴听到这个消息。干杯
$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));