大佬教程收集整理的这篇文章主要介绍了在JavaScript / Node.js中将Youtube Data API V3视频时长格式转换为秒,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我建议您使用此小技巧来防止出现问题的情况:
function convert_time(duration) {
var a = duration.match(/\d+/g);
if (duration.indexOf('M') >= 0 && duration.indexOf('H') == -1 && duration.indexOf('S') == -1) {
a = [0, a[0], 0];
}
if (duration.indexOf('H') >= 0 && duration.indexOf('M') == -1) {
a = [a[0], 0, a[1]];
}
if (duration.indexOf('H') >= 0 && duration.indexOf('M') == -1 && duration.indexOf('S') == -1) {
a = [a[0], 0, 0];
}
duration = 0;
if (a.length == 3) {
duration = duration + parseInt(a[0]) * 3600;
duration = duration + parseInt(a[1]) * 60;
duration = duration + parseInt(a[2]);
}
if (a.length == 2) {
duration = duration + parseInt(a[0]) * 60;
duration = duration + parseInt(a[1]);
}
if (a.length == 1) {
duration = duration + parseInt(a[0]);
}
return duration
}
小提琴
我正在尝试将JS / Node中的ISO 8601字符串转换为秒。我能想到的最好的是:
function convert_time(duration) {
var a = duration.match(/\d+/g)
var duration = 0
if(a.length == 3) {
duration = duration + parseInt(a[0]) * 3600;
duration = duration + parseInt(a[1]) * 60;
duration = duration + parseInt(a[2]);
}
if(a.length == 2) {
duration = duration + parseInt(a[0]) * 60;
duration = duration + parseInt(a[1]);
}
if(a.length == 1) {
duration = duration + parseInt(a[0]);
}
return duration
}
当我输入“ PT48S”,“ PT3M20S”或“ PT3H2M31S”之类的字符串时,它可以工作,但是如果字符串为“
PT1H11S”,则失败了。有谁有更好的主意吗?
以上是大佬教程为你收集整理的在JavaScript / Node.js中将Youtube Data API V3视频时长格式转换为秒全部内容,希望文章能够帮你解决在JavaScript / Node.js中将Youtube Data API V3视频时长格式转换为秒所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。