现在的输出是: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
});
};