如何将“ 00:30:00”格式转换为秒?

Umb*_*bro 4 javascript momentjs

我想以秒为单位转换格式示例“ 00:30:00”。这是我的方式。有没有办法在“模板字符串”中添加这些值?

预期效果:

convert1000('00:30:00')-> 1800

convert1000('00:00:10')-> 10

convert1000('00:08:10')-> 490

convert1000('01:01:10')-> 3670

const convert1000 = (time) => {
    const [hour, minute, sec] = time.split(':');

    if (hour !== "00") {
      return `${(hour* 3600)} + ${(minute * 60)} + ${(sec)}`;
    }

    if (minute !== "00") {
      return `${minute * 60} + ${sec} `;
    }

    return `${sec} `;
  }
Run Code Online (Sandbox Code Playgroud)

Luc*_*cas 5

使用asSeconds来自moment.js持续时间对象

moment.duration('00:30:00').asSeconds();
Run Code Online (Sandbox Code Playgroud)


Nin*_*olz 5

您可以通过将前一个值乘以60然后添加该值来拆分和减少这些值。

const convert1000 = time => time.split(':').reduce((s, t) => s * 60 + +t, 0);
  
console.log(convert1000('00:30:00')); // 1800
console.log(convert1000('00:00:10')); // 10
console.log(convert1000('00:08:10')); // 58 is wrong, because 8 minutes is 480 plus 10 sec
console.log(convert1000('01:01:10')); // 3670
Run Code Online (Sandbox Code Playgroud)