在Multi数组中减去日期

时间:2015-01-15 15:33:05

标签: php

我是php的新手;) 我需要减去两个日期,存放在多维数组中:

  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 - 召回,但我不明白我需要使用哪种语法..有人可以帮助新手吗?

当然我试过了;)

$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);

我想我很想念如何使用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 个答案:

答案 0 :(得分: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以获得分钟数等。