【问题标题】:Formatting time to MM:SS even if its not a complete minute将时间格式化为 MM:SS,即使它不是一个完整的分钟
【发布时间】:2021-09-01 18:54:46
【问题描述】:

我正在尝试使用 moment.js 和 .format() 格式化时间 hh:mm:ss(音乐/播客持续时间):

[...]
let tkd = moment.duration(trackLenght);
let prg = moment.duration(trackProgress);
let fin = prg.format("hh:mm:ss") + ' / ' + tkd.format("hh:mm:ss");

此代码按预期工作,例如:02:40 / 05:55

但是当任何一个小于 1 分钟时,mm:ss 格式变为32 / 05:55

有没有办法在不操纵字符串的情况下将其强制为00:32 / 05:55? (使用 .format() 有效,但如果 trackLenght 低于 0 秒,则生成的字符串为 360 miliseconds / 05:55)。谢谢

【问题讨论】:

    标签: javascript formatting momentjs


    【解决方案1】:

    从moment-duration-format 的documentation 中,我发现.format() 中有第二个参数可以传递更多配置。

    尝试使用该代码

    let fin = `${prg.format('HH:mm:ss', { trim: false })} / ${tkd.format('HH:mm:ss', { trim: false })}`;
    

    获取时间的正确字符串是HH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 2013-08-04
      • 2019-11-16
      相关资源
      最近更新 更多