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

时间:2015-06-08 18:47:37

标签: 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","") +  "" );

但是当持续时间例如: PT4M9S 时失败则输出为 3:9 时应 3:09

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
    });
};

0 个答案:

没有答案