Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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
Javascript 如何使用moment.js格式化YouTube API视频的持续时间_Javascript_Youtube Api_Momentjs - Fatal编程技术网

Javascript 如何使用moment.js格式化YouTube API视频的持续时间

Javascript 如何使用moment.js格式化YouTube API视频的持续时间,javascript,youtube-api,momentjs,Javascript,Youtube Api,Momentjs,我编写了一个小功能,用YouTube API v3在YouTube上搜索视频 视频持续时间的格式,如PT2M54S 我想将其转换为00:02:54usemoment.js 有解决方案吗?以下方法返回持续时间(以秒为单位)。因此,您可以在moment.js中简单地使用它 function getDurationInSecond(youtubeDuration) { var re=/pt([0-9]+)M([0-9]+)S/gi, rex = new RegExp(re),

我编写了一个小功能,用YouTube API v3在YouTube上搜索视频

视频持续时间的格式,如
PT2M54S

我想将其转换为
00:02:54
use
moment.js


有解决方案吗?

以下方法返回持续时间(以秒为单位)。因此,您可以在moment.js中简单地使用它

function getDurationInSecond(youtubeDuration)
{
    var re=/pt([0-9]+)M([0-9]+)S/gi,
        rex = new RegExp(re),
        du = rex.exec(youtubeDuration);
    if (du.length<1)
        return 0;
    var s=0;
    s+= du.length >1 && du[1]? parseInt(du[1], 10) * 60 :0; // adding minute
    s+= du.length >2 && du[2]? parseInt(du[1], 10) :0; //
    return s;
}

var time='PT2M45S';
console.log(getDurationInSecond(time));
函数getDurationInSecond(YouTube教育) { var re=/pt([0-9]+)M([0-9]+)S/gi, rex=新的RegExp(re), du=执行董事(青年教育); if(du.length1&&du[1]?parseInt(du[1],10)*60:0;//添加分钟 s+=du.length>2&&du[2]?parseInt(du[1],10):0// 返回s; } var-time='PT2M45S'; log(getDurationInSecond(time)); 您可以创建一个对象,然后使用插件对其进行格式化。该库将
format
方法添加到durations中,并具有一个选项,允许您以要求的格式获取输出

示例代码如下所示:

var dur=力矩持续时间('PT2M54S');
log(dur.format('HH:mm:ss',{trim:false}));//00:02:54

我正在重新创建YouTube iOS应用程序,并使用+在视频的下角创建运行时间(例如4:05)

如果您对此感兴趣,我提供以下实用功能:

import moment from 'moment';
import 'moment-duration-format';

export default (duration) => moment
    .duration(duration)
    .format('h:mm:ss')
    .padStart(4, '0:0');

传奇与救世主!+1