我收到的格式为'HH:mm:ss'
。我想删除前导零,但始终保留最后四个字符,例如m:ss
,即使m
为零。我正在格式化音频持续时间。
示例:
00:03:15
=> 3:15
10:10:10
=> 10:10:10
00:00:00
=> 0:00
04:00:00
=> 4:00:00
00:42:32
=> 42:32
00:00:18
=> 0:18
00:00:08
=> 0:08
答案 0 :(得分:7)
您可以使用此替代品:
var result = yourstr.replace(/^(?:00:)?0?/, '');
或更好:
var result = yourstr.replace(/^0(?:0:0?)?/, '');
答案 1 :(得分:1)
另一种选择是使用moment.js库。
这支持
之类的格式var now = moment('1-1-1981 2:44:22').format('h:mm:ss');
alert(now);
答案 2 :(得分:1)
如果您使用1小时而不是2小时,您将不会获得前导0。
h:mm:ss
答案 3 :(得分:0)
你可以这样做:
var tc =['00:03:15', '10:10:10','00:00:00','04:00:00','00:42:32','00:00:18','00:00:08'];
tc.forEach(function(t) {
var y = t.split(":");
y[0] = y[0].replace(/^[0]+/g, '');
if(y[0] === '') {
y[1] = y[1].replace(/^0/g, '');
}
var r = y.filter(function(p) {return p!=='';}).join(':');
console.log(r);
});
将时间分为3个部分。从第一部分移除前导零,如果第一部分为空,则从第二部分移除前导零,否则保留它。然后加入所有人丢弃空字符串。