我有一个timeuntil字符串显示为12d 00:57:30 即。 DD' d' HH:MM:SS
如何在javascript或jquery中将其转换为秒数。
答案 0 :(得分:1)
我知道这对某些人来说听起来不太好,但如果你不想使用像moment.js这样的插件。你可以像这样解析它(仅适用于格式dd'd'hh:mm:ss):
var days = parseInt(time.split('d ')[0]);
var hours = parseInt(time.split('d ')[1].split(":")[0]);
var mins = parseInt(time.split('d ')[1].split(":")[1]);
var secs = parseInt(time.split('d ')[1].split(":")[2]);
hours += days * 24;
mins += hours * 60;
secs += mins * 60;
秒将是总数
答案 1 :(得分:1)
对于这样的事情,我喜欢moment.js。它有一种叫做“durations”的东西,非常适合这种情况。
首先,你需要将你的字符串解析成碎片。由于你知道格式,我们可以使用正则表达式。
var time = '12d 00:57:30';
var timeParts = time.match(/(\d+)d (\d{2}):(\d{2}):(\d{2})/);
if(timeParts !== null){
var timeUntil = moment.duration({
days: timeParts[1],
hours: timeParts[2],
minutes: timeParts[3],
seconds: timeParts[4]
});
var timeSeconds = timeUntil.as('seconds');
console.log(timeSeconds); // 1040250
}