我對這個問題表示歉意,因爲我已經發布了類似的問題,但我想知道我該怎麼做下面的轉換:ISO持續時間與Java腳本
PT11H9M38.7876754S
我想禁用秒,只展會小時和分鐘11:09
當我有時間顯示分鐘從1到9,我希望在數
TNX在諮詢前加上一個0 ...
我對這個問題表示歉意,因爲我已經發布了類似的問題,但我想知道我該怎麼做下面的轉換:ISO持續時間與Java腳本
PT11H9M38.7876754S
我想禁用秒,只展會小時和分鐘11:09
當我有時間顯示分鐘從1到9,我希望在數
TNX在諮詢前加上一個0 ...
你可以試試這個:
var str = 'PT11H9M38.7876754S'
match = str.match(/(\d*)H(\d*)M/),
formatted = match[1] + ':' + (!match[2][1] ? 0 + match[2] : match[2]);
console.log(formatted); // => 11:09
"PT11H9M38.78767545".replace(/PT(\d+)H(\d+)M.*/,function(m,a,b) {return a+":"+(b.length<2?"0":"")+b;});
一行代碼:P
嗯,這就是縮小器的作用。爲什麼你不能格式化你的代碼? – 2014-12-03 12:28:16
由於所有的美好正則表達式東西上面這裏是解析,但你而言的第三溶液有點貴可能正在尋找不同的東西。
您可以使用split
函數來解析字符串並提取所需的部分。
var pt="PT11H9M38.7876754S";
function showtime(s){
var time = s.split('.');
var hours = time[0].split('T')[1].split('H')[0];
var minutes = time[0].split('H')[1].split('M')[0];
return digitize(hours) + ":" + digitize(minutes)
}
function digitize(i){
return (i>9) ? i : "0" + i;
}
alert(showtime(pt)); // 11:09
[你有什麼嘗試?](http://whathaveyoutried.com/) – 2013-03-03 19:59:05