You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将视频秒数时长转换为分秒格式?含Facebook视频API场景

如何将Facebook Graph API返回的视频秒数转换为分秒格式(PHP实现)

嘿,我来帮你搞定这个视频时长转换的需求,结合你给出的PHP调用Facebook Graph API的场景,直接看具体实现吧:

核心转换函数

首先我们需要一个函数来处理秒数到分秒格式的转换,这个函数会处理带小数的秒数(比如API返回的238.142),将其转换成X分Y秒的格式:

function convertSecondsToMinutes($seconds) {
    // 先将带小数的秒数取整,若需要四舍五入可以把intval换成round()
    $totalSeconds = intval($seconds);
    // 计算总分钟数
    $minutes = floor($totalSeconds / 60);
    // 计算剩余的秒数
    $remainingSeconds = $totalSeconds % 60;
    // 返回格式化后的字符串
    return "$minutes分$remainingSeconds秒";
}

嵌入到你的API调用代码中

把上面的函数放到你的代码里,然后在遍历视频数据的时候调用它,就能直接得到格式化后的时长了:

// 定义时长转换函数
function convertSecondsToMinutes($seconds) {
    $totalSeconds = intval($seconds);
    $minutes = floor($totalSeconds / 60);
    $remainingSeconds = $totalSeconds % 60;
    return "$minutes分$remainingSeconds秒";
}

// 调用Facebook Graph API获取视频列表数据
$json_array = file_get_contents("https://graph.facebook.com/v2.12/$PID[$FID]/videos?fields=title,length,from,description,created_time,source&limit=10&access_token="); 
$json_data = json_decode($json_array, true); 

// 遍历每个视频,转换并使用时长
foreach($json_data['data'] as $links){ 
    // 获取API返回的原始秒数
    $video_seconds = $links['length']; 
    // 转换为分秒格式
    $formatted_time = convertSecondsToMinutes($video_seconds);
    
    // 这里可以根据你的需求使用格式化后的时长,比如输出或者存入数据库
    echo "视频标题:{$links['title']} | 时长:$formatted_time<br>";
}

小提示

  • 如果API返回的秒数你需要更精确的四舍五入(比如238.6秒要转换成3分59秒而不是3分58秒),只需要把函数里的intval($seconds)改成round($seconds)就行。
  • 这个函数是通用的,不管你从哪里获取的秒数,都可以用它来转换格式。

内容的提问来源于stack exchange,提问作者Fxc Jahid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:22:35