我想編寫一個函數,其格式爲hh:mm(26:40)作爲參數字符串。格式化持續時間字符串到h m d
我需要的函數返回的輸出字符串「1 d,2小時,40分鐘」
我試圖尋找一個內置的功能或最佳實踐沒有運氣。
我已經提出了下面的代碼,它的工作原理,但我覺得它是過度的,我想知道是否有最佳做法。
var t = "27:20"
var res = foo(t)
document.writeln(res);
function foo(st) {
var splittedSt = st.split(":")
var days = parseInt(splittedSt[0]/24, 10) + " d";
var hours = Number(splittedSt[0]) - Number(days.split(" ")[0]) * 24 + " h";
var minutes = splittedSt[1] + " min";
return days + " " + hours + " " + minutes
}
使用瞬間或date.js來處理,你有5行代碼,這樣一個簡單的任務將是最終的矯枉過正 – mplungjan
@mplungjan你介意秀我們所有人如何解決這個瑣碎的任務?大多數日期表示似乎遵循約定,即每天不超過24小時。因此,您需要以任何方式操縱輸入。 – Jonas
它在OP的問題中解決。他希望代碼不過分,我解釋說,添加一個框架或類似的東西,使他現在的5條線以更優雅的方式工作是實際的矯枉過正 – mplungjan