【发布时间】:2017-01-02 13:08:40
【问题描述】:
我正在使用Moment Duration Format,它很棒。在某些情况下,我只是无法获得正确的字符串格式。
这些是我当前的字符串输出类型如下
var dur = moment.duration(d, "minutes").format("h [hrs] m [min]");
- 45 分钟
- 1 小时 30 分钟
- 2 小时 0 分钟
这些都是正确的输出,我只是希望能够改变最终的类型。
当存在小时数且分钟数为 零 时,我想修剪字符串以仅显示小时数
所以
2 小时 0 分钟 变成 2 小时
我不确定从哪里开始 regex ?我认为这可能是实现它的唯一方法?
感谢您的帮助
【问题讨论】:
-
根据文档,您可以使用
{ trim: "right" }作为设置参数从右侧修剪。也许这有帮助。 -
没有帮助 - 我试过了。没有小时数时返回 0 小时 45 分钟等值
-
我认为正确的解决方案是为 moment 的格式化系统实现更好的解析器,但做起来要复杂得多。也许替换
0 min模式可能是一个更简单的解决方案,或者为分钟不为零时创建不同的格式。 -
@LenilsondeCastro 我已经更新了我的答案。希望它涵盖了大多数情况。
-
@DogCoffee 请检查答案中的更新。我添加了对
sec和secs等的处理。
标签: javascript regex string momentjs