Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取两个日期之间的平均间隔_Php_Date Manipulation - Fatal编程技术网

Php 获取两个日期之间的平均间隔

Php 获取两个日期之间的平均间隔,php,date-manipulation,Php,Date Manipulation,因此,我有以下数组($lifeSpanArray),我希望计算两个日期之间的平均间隔 到目前为止我所拥有的,但我认为我的想法有点错误: <?php foreach ($lifeSpanArray as $key) { $newTimeAdd = new DateTime($key["timeAdded"]); $newTimeRead = new DateTime($key["timeRead"]); $interval = $n

因此,我有以下数组(
$lifeSpanArray
),我希望计算两个日期之间的平均间隔

到目前为止我所拥有的,但我认为我的想法有点错误:

<?php
    foreach ($lifeSpanArray as $key) {

        $newTimeAdd = new DateTime($key["timeAdded"]);
        $newTimeRead = new DateTime($key["timeRead"]);

        $interval = $newTimeAdd->diff($newTimeRead);
        var_dump($interval);
    }
?>
请尝试以下操作:

 <?php
        $intervals = array();
        foreach ($lifeSpanArray as $key) {

            $newTimeAdd = new DateTime($key["timeAdded"]);
            $newTimeRead = new DateTime($key["timeRead"]);
            $interval = $newTimeAdd->diff($newTimeRead);
            $intervals[] = $interval->days;//get days
        }
        if(!empty($intervals))
        {
            $average = average($intervals);
        }


    function average($arr)
    {
       return array_sum($arr)/count($arr);
    }

?>

尝试以下操作:

 <?php
        $intervals = array();
        foreach ($lifeSpanArray as $key) {

            $newTimeAdd = new DateTime($key["timeAdded"]);
            $newTimeRead = new DateTime($key["timeRead"]);
            $interval = $newTimeAdd->diff($newTimeRead);
            $intervals[] = $interval->days;//get days
        }
        if(!empty($intervals))
        {
            $average = average($intervals);
        }


    function average($arr)
    {
       return array_sum($arr)/count($arr);
    }

?>

尝试以下操作:

 <?php
        $intervals = array();
        foreach ($lifeSpanArray as $key) {

            $newTimeAdd = new DateTime($key["timeAdded"]);
            $newTimeRead = new DateTime($key["timeRead"]);
            $interval = $newTimeAdd->diff($newTimeRead);
            $intervals[] = $interval->days;//get days
        }
        if(!empty($intervals))
        {
            $average = average($intervals);
        }


    function average($arr)
    {
       return array_sum($arr)/count($arr);
    }

?>

尝试以下操作:

 <?php
        $intervals = array();
        foreach ($lifeSpanArray as $key) {

            $newTimeAdd = new DateTime($key["timeAdded"]);
            $newTimeRead = new DateTime($key["timeRead"]);
            $interval = $newTimeAdd->diff($newTimeRead);
            $intervals[] = $interval->days;//get days
        }
        if(!empty($intervals))
        {
            $average = average($intervals);
        }


    function average($arr)
    {
       return array_sum($arr)/count($arr);
    }

?>

您的解决方案是正确的,但不要忘记对diff返回的对象调用format()方法

来自PHP.net的示例:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

您的解决方案是正确的,但不要忘记对diff返回的对象调用format()方法

来自PHP.net的示例:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

您的解决方案是正确的,但不要忘记对diff返回的对象调用format()方法

来自PHP.net的示例:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>

您的解决方案是正确的,但不要忘记对diff返回的对象调用format()方法

来自PHP.net的示例:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%a days');
?>


为什么您认为您的解决方案是错误的?只是感觉不对?你试过了吗?它能满足你的需要吗?这就是你如何知道它是对还是错的。为什么你认为你的解决方案是错的?只是感觉不对?你试过了吗?它能满足你的需要吗?这就是你如何知道它是对还是错的。为什么你认为你的解决方案是错的?只是感觉不对?你试过了吗?它能满足你的需要吗?这就是你如何知道它是对还是错的。为什么你认为你的解决方案是错的?只是感觉不对?你试过了吗?它能满足你的需要吗?这就是你知道它是对的还是错的方法。这就是我想要做的-但我不知道如何将它放在我的foreach循环中而不每次都写上它?这就是我想要做的-但我不知道如何将它放在我的foreach循环中而不每次都写上它?这是我想要做的-但我不知道如何将它放在里面我的foreach循环没有每次都在上面写?这就是我想要做的-但是我不知道如何将它放在我的foreach循环中而不每次都在上面写?