仅当两个日期之间的间隔超过4时才计算它

时间:2016-07-06 06:35:22

标签: php

我面临一个小问题,我需要你的帮助:)。

我解释说: 我有两个这样的数组:

DateMin : 16/03/2016 19:12:08   DateMax : 16/03/2016 19:18:29
DateMin : 16/03/2016 19:12:08   DateMax : 16/03/2016 19:18:30
DateMin : 16/03/2016 19:12:09   DateMax : 16/03/2016 19:18:30
DateMin : 16/03/2016 19:12:09   DateMax : 16/03/2016 19:18:31
DateMin : 07/04/2016 12:14:21   DateMax : 07/04/2016 12:31:03

我想做的是计算两个日期之间的间隔,只有当这个间隔超过4秒时才会计算。

以下是我要做的事情:

foreach($res as $r){
            if(isset($output[$r['DATE']])) {
                $dateBefore = null;
                $dateSql = DateTime::createFromFormat("d/m/Y G:i:s",$r['DATE']);
                if($dateBefore == null){
                    $dateBefore = DateTime::createFromFormat("d/m/Y G:i:s",$r['DATE']);
                }
                $interval = $dateSql->diff($dateBefore);
                if($interval->format('%s') > 4){
                    $dateBefore = DateTime::createFromFormat("d/m/Y G:i:s",$r['DATE']);
                    $output[$r['DATE']] += intval($interval->format('%s'));
                }
            }
            else
                $output[$r['DATE']] = 0;
        }

1 个答案:

答案 0 :(得分:2)

我想,你需要改变

if($interval->format('%s') > 4)

as

if($interval->format('%R%a') > 4)

$output[$r['DATE']] += intval($interval->format('%s'));

作为

$output[$r['DATE']] += intval($interval->format('%R%a'));