如何用php从json文件求和时间?

如何用php从json文件求和时间?,php,json,time,sum,Php,Json,Time,Sum,我有一个来自.json url的API,它以HH:MM格式为我提供了一个ID、距离和持续时间 [ { "id": "210", "distance": "299", "duration": "01:31" }, { "id": "209", "distance": "279", "duration": "01:22" }, { "id": "20

我有一个来自.json url的API,它以HH:MM格式为我提供了一个ID、距离和持续时间

[
    {
        "id": "210",
        "distance": "299",
        "duration": "01:31"
    },
    {
        "id": "209",
        "distance": "279",
        "duration": "01:22"
    },
    {
        "id": "209",
        "distance": "261",
        "duration": "01:15"
    }
]
我想计算一个ID的持续时间的总和,所以这里01:22+01:15会给我02:37,但我不知道怎么做

有什么帮助吗

谢谢,

Snax

您可以使用
strotime
来完成问题的添加部分-首先,通过解码数据并对其进行迭代,如下所示:

$json=json_decode('[
    {
        "id": "210",
        "distance": "299",
        "duration": "01:31"
    },
    {
        "id": "209",
        "distance": "279",
        "duration": "01:22"
    },
    {
        "id": "209",
        "distance": "261",
        "duration": "01:15"
    }
]');

$t=0;
foreach( $json as $obj )$t+=strtotime( $obj->duration );
echo date( 'H:i', $t );
结果:

04:08

查看此线程:我将尝试一下,感谢您的输入。您好,再次按照您的示例,我尝试了以下内容:
$t=0;foreach($json as$obj){if($obj->id=='209'){$t+=strotime($obj->duration);print_r(date('H:i',$t));}}
结果是我只显示了第一个键(1:22),下面的警告是:warning:date()希望参数2为int,float在第25行的/www/hours.php中给出,知道它为什么不起作用吗?