将ISO 8601时间格式转换为正常持续时间

use*_*061 5 javascript jquery

我有一个持续时间字符串"PT1M33S".我想得到以下格式的结果 - > 01:33任何人都可以告诉我如何使用js或jquery这样做?

Pra*_*een 14

这似乎不是时间格式,只是视频的持续时间.

     ------ 33 Seconds
    ''
PT1M33S
  '------- 1 Minute
Run Code Online (Sandbox Code Playgroud)

H - 小时
M - 分钟
S-秒

所以试试吧

var timeD = "PT1M33S";
var formattedTime = timeD.replace("PT","").replace("H",":").replace("M",":").replace("S","")
alert(formattedTime);
Run Code Online (Sandbox Code Playgroud)

例如,小提琴也可以用简单的正则表达式完成.

希望你能理解.


ken*_*bec 5

您可以匹配数字并将它们填充为格式 -

var string= "PT1M33S", 
array=string.match(/(\d+)(?=[MHS])/ig)||[]; 

var formatted=array.map(function(item){
    if(item.length<2) return '0'+item;
    return item;
}).join(':');

formatted
Run Code Online (Sandbox Code Playgroud)

/* 返回值: (字符串) 01:33 */