Javascript 如何将youtube api v3 duration格式转换为可读格式

Javascript 如何将youtube api v3 duration格式转换为可读格式,javascript,youtube,string-formatting,youtube-data-api,Javascript,Youtube,String Formatting,Youtube Data Api,现在的输出是:youtube视频标题-PT1H2M11S 如何使用Javascript将此持续时间转换为以秒为单位的人类可读格式 我试过: $(a).after("<br />" + b.items[0].snippet.title + " - " + b.items[0].contentDetails.duration..replace("PT","").replace("H",":").replace("M",":").replace("S","") + "" ); $(a)

现在的输出是:youtube视频标题-PT1H2M11S

如何使用Javascript将此持续时间转换为以秒为单位的人类可读格式

我试过:

$(a).after("<br />" + b.items[0].snippet.title + " - " + b.items[0].contentDetails.duration..replace("PT","").replace("H",":").replace("M",":").replace("S","") +  "" );
$(a).在(“
”+b.items[0]之后。snippet.title+“-”+b.items[0]。contentDetails.duration..replace(“PT”,”).replace(“H”,“:”).replace(“M”,“:”.replace(“S”,”)+);
但当持续时间为例如:PT4M9S时失败,然后在应为3:09时输出为3:9

function checkLink() {
    $("a.link").filter(function () {
        if ($(this).attr("href").match("(http|https)://(www.|m.)?youtube|youtu.be")) {
            youtube_id = $(this).attr("href").match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/)[2];
            $(this).html('<p style="text-align:center;"><img src="https://i.ytimg.com/vi/' + youtube_id + '/mqdefault.jpg" /></p>');
            var a = $(this).find("img");
            $.ajax({
                url: "https://www.googleapis.com/youtube/v3/videos?id=" + youtube_id + "&key=**********************&fields=items(snippet(title),contentDetails)&part=snippet,contentDetails",
                dataType: "json",
                success: function (b) {
                    $(a).after("<br />" + b.items[0].snippet.title + " - " + b.items[0].contentDetails.duration +  "" ); 
                }
            });
            return $(this).attr("href", "https://www.youtube.com/embed/" + youtube_id + "?autoplay=1")
        }
    }).colorbox({
        iframe: !0,
        innerWidth: 640,
        innerHeight: 425
    });
};
函数checkLink(){
$(“a.link”).filter(函数(){
if($(this.attr(“href”).match(((http | https):/(www.m.)?youtube | youtu.be))){
youtube|u id=$(this.attr(“href”).match(/^.*(youtu.be\/|v\/|u\/\w\/| embed\/|watch\?v=)([^#\&\?]*)。/)[2];
$(this.html(“

”); var a=$(this.find(“img”); $.ajax({ url:“https://www.googleapis.com/youtube/v3/videos?id=“+youtube_id+”&key=*********************&fields=items(片段(标题),contentDetails)&part=snippet,contentDetails”, 数据类型:“json”, 成功:职能(b){ $(a).在(“
”+b.items[0].snippet.title+“-”+b.items[0].contentDetails.duration+”)之后; } }); 返回$(this.attr)(“href”https://www.youtube.com/embed/“+youtube_id+”?自动播放=1”) } }).彩盒({ iframe:!0, 内宽:640, 内高:425 }); };
这似乎对您有所帮助:-然后将您的逻辑分解为使用零填充逻辑的离散步骤。感谢您的快速回答,虽然最后链接的问题似乎有帮助,但我还是选择了这个问题:它解决了我想要的问题。它的可能重复似乎对你有帮助:-然后将你的逻辑分解为使用零填充逻辑的离散步骤。谢谢你的快速回答,虽然最后链接的问题似乎有帮助,但我还是选择了这个问题:它解决了我想要的问题。它的可能重复似乎对你有帮助:-然后将你的逻辑分解为使用零填充逻辑的离散步骤。谢谢你的快速回答,虽然最后这个相关的问题似乎很有帮助,但我还是选择了这个问题:它解决了我想要的问题