期間文字列「PT1M33S」があります。次の形式で結果を取得したい -> 01:33 js または jquery を使用してそれを行う方法を誰か教えてもらえますか??
9792 次
4 に答える
19
これは時間形式ではなく、ビデオの長さだけです。
------ 33 Seconds
''
PT1M33S
'------- 1 Minute
H - 時間
M - 分
S - 秒
だからこれを試してください
var timeD = "PT1M33S";
var formattedTime = timeD.replace("PT","").replace("H",":").replace("M",":").replace("S","")
alert(formattedTime);
ご理解いただければ幸いです。
于 2013-09-30T12:06:34.920 に答える
0
この回答は単純なので気に入りましたが、分または秒が 10 未満の場合、たとえば 10:04 が 10:4 として返されるなど、奇妙な結果が得られます。
そこで、時間文字列をさらに解析して再構築するために、いくつかの単純な関数を追加しました。
function formatTimeSeg(segment) {
newSegment = segment;
segLength = segment.length;
if(segLength==1){
newSegment = '0'+segment;
}
return newSegment;
}
extractedTime = duration.replace("PT","").replace("H",":").replace("M",":").replace("S","")
extractedTime = extractedTime.split(':');
timeLength = extractedTime.length;
switch(timeLength) {
case 3:
hours=extractedTime[0];minutes=extractedTime[1];seconds=extractedTime[2];
minutes = formatTimeSeg(minutes);
seconds = formatTimeSeg(seconds);
formattedTime = hours+':'+minutes+':'+seconds;
break;
case 2:
minutes=extractedTime[0];seconds=extractedTime[1];
minutes = formatTimeSeg(minutes);
seconds = formatTimeSeg(seconds);
formattedTime = minutes+':'+seconds;
break;
case 1:
seconds=extractedTime[0];
seconds = formatTimeSeg(seconds);
formattedTime = '0:'+seconds;
break
}
于 2015-05-10T20:34:01.917 に答える