使用 YouTube API 获取时长

nic*_*use 1 php youtube youtube-api

我需要使用 Youtube API V3 获取视频时长。我的应用程序在 API V3 上运行良好,但现在不起作用。

我找到了一个有效的例子,它有效:

$dur = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=[VIDOID]&key=[API KEY]");


$duration =json_decode($dur, true);

foreach ($duration['items'] as $vidTime) {
    $vTime= $vidTime['contentDetails']['duration'];
}
Run Code Online (Sandbox Code Playgroud)

积分:Youtube API v3,如何获取视频时长?

这将返回类似这样的时间格式。

PT24M30S 
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它改写成一个可读的时间。像 24:30?

fel*_*ins 5

我不敢相信,有人用过DateInterval,为什么?就像这样:

$duration = new DateInterval('PT24M30S');

print $duration->format('%H:%i:%s'); // outputs: 00:24:30
Run Code Online (Sandbox Code Playgroud)

有用的网址: