Javascript:分割时间
我试图格式化一个包含时间数据的变量值,如下所示Javascript:分割时间,javascript,arrays,Javascript,Arrays,我试图格式化一个包含时间数据的变量值,如下所示00:38:51或00:00:59或01:25:59 我需要将其格式化为25m59s或相应的1h25m59s0m59s 我正在读一些关于分裂的书,我已经开始了,但是我感到困惑 语法 拆分(表达式[,分隔符[,计数[,比较]]) 更新 我创建了自己的函数,我不确定这是否也是一个好方法 function formatTime(a) { var time = a.split(":"); var hours = parseInt(time[0
00:38:51
或00:00:59
或01:25:59
我需要将其格式化为25m59s
或相应的1h25m59s
0m59s
我正在读一些关于分裂的书,我已经开始了,但是我感到困惑
语法
拆分(表达式[,分隔符[,计数[,比较]])
更新
我创建了自己的函数,我不确定这是否也是一个好方法
function formatTime(a) {
var time = a.split(":");
var hours = parseInt(time[0], 10);
var minutes = parseInt(time[1], 10);
var seconds = parseInt(time[2], 10);
var x = document.getElementById("time");
x.innerHTML = hours + "h" + minutes + "m" + seconds + "s"
}
myTime = "00:38:51";
formatTime(myTime);
尝试使用
RegExp
var arr = ["00:38:51","00:00:59","01:25:59"]; // created array due to demonstration
var reg = /(\d+):(\d+):(\d)/, ret = []; // RegExp and result variable declaration
arr.forEach(function(v){
ret = reg.exec(v);
console.log(parseInt(ret[1]) + "h" + parseInt(ret[2]) + "m" + parseInt(ret[3]) + "s"); // 0h38m5s, 0h0m5s, 1h25m5s
});
注意:在显示结果时使用parseInt
功能,以避免打印00
而不是0
这应该可以做到
function a(time) {
var t = time.split(':'),
s = ['h', 'm', 's'],
i = 0;
for(; i < t.length; i ++) {
t[i] = parseInt(t[i]) == 0 ? '' : parseInt(t[i]) + s[i + s.length - t.length];
}
return t.join('');
}
函数a(时间){
var t=time.split(“:”),
s=['h','m','s'],
i=0;
对于(;i
你能为你的代码创建一个提琴,并像我是JS新手一样检查我的函数吗?你能为你的代码创建一个提琴,并像我是新手一样检查我的函数吗js@J.DFiddle也张贴在代码下方。无论如何,这里是链接
function a(time) {
var t = time.split(':'),
s = ['h', 'm', 's'],
i = 0;
for(; i < t.length; i ++) {
t[i] = parseInt(t[i]) == 0 ? '' : parseInt(t[i]) + s[i + s.length - t.length];
}
return t.join('');
}