我是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)
...
答案 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以获得分钟数等。