2015-01-15 76 views
0

我是新来的PHP日期;) 我需要。减去两个日期,放养在multidimensionnal阵列:中。减去多阵列

45 => 
    array (size=2) 
     'date' => string '2016-01-17 17:08:48' (length=19) 
     'recall' => string '0' (length=1) 
    46 => 
    array (size=2) 
     'date' => string '2016-01-17 17:12:43' (length=19) 
     'recall' => string '5' (length=1) 
    47 => 
    array (size=2) 
     'date' => string '2016-01-17 17:22:46' (length=19) 
     'recall' => string '5' (length=1) 

我需要的foreach,日期 - 召回,但我不明白我需要用什么语法..有人可以帮助新手?

当然,我试图;)

$date_array = array(); 
$date = array(); 

foreach ($results as $f) { 
    $date_array['date'] = $f['date_to']; 
    $date_array['recall'] = $f['recall']; 
    $date[] = $date_array; 
} 

foreach ($date as $d) { 
    $d = date_sub($date['date'],$date['recall']); 
    $date[] = $d; 
} 
var_dump($date); 

我想我missunderstand如何使用datetime.sub

欲获得类似的数组:

45 => 
    array (size=1) 
     'date' => string '2016-01-12 17:08:48' (length=19) 
    46 => 
    array (size=1) 
     'date' => string '2016-01-12 17:12:43' (length=19) 
    ... 
+1

[你尝试过什么?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – 2015-01-15 15:36:44

+0

请更精确。你想通过内部数组遍历吗?你想做甚么? – 2015-01-15 15:38:06

回答

1

PHP DATE_SUB减去周期从日期开始的时间。例如,要在给定日期前10天获得。 从另一个日期减去一个日期表明你想知道这两个日期之间的时间段。要做到这一点,您可以使用strtotime()。它所做的是将您的日期转换为数字,以秒为单位。然后,您可以使用正常减法从另一个中减去另一个。

因此,这将是这个样子:

foreach ($date as $d) { 
    $d = strtotime($date['date']) - strtotime($date['recall']); 
    // Now $d is the number of seconds between recall and date 
} 

结果是秒的两个日期之间的数 - 这样你就可以除以60就得到的分钟数等