javascript - moment.js 中有条件格式吗?

标签 javascript momentjs

我正在使用 moment.js 进行倒计时。
如果我能有条件格式就好了。

这是我现在所拥有的

var count_down = moment().hour(23).min(30);
alert( count_down.format('H[h ]m[min ]s[s]') );

显示:

0h 43min 20s


我想知道是否有一个格式表达式可以做到

var format = 'H[h ]m[min ]s[s]';
if (count_down.hour() === 0)
   format = 'm[min ]s[s]';
alert( count_down.format(format) );

显示:

43min 20s

不过我在文档中没有看到类似的内容。

最佳答案

moment 对象代表一天中的时间,这对于倒计时没有意义。您应该使用 moment 的 duration object为此目的。

Moment 尚不直接支持格式化持续时间,因此您可以执行以下操作:

var d = moment.duration('23:30');
var s = (d.hours() > 0 ? d.hours() + 'h ' : '')
        + d.minutes() + 'min '
        + d.seconds() + 's';

或者,您可以尝试 moment-duration-format插件,但您仍然必须自己处理条件评估。

关于javascript - moment.js 中有条件格式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25935410/

相关文章:

javascript - Breeze的executeQuery在IE11中比Chrome慢很多

javascript - 跨 JavaScript 文件声明变量和函数

javascript - 使用 JavaScript 从外部图像获取颜色

javascript - 使用 Kinvey.Social 通过 Angular 应用程序和 Promise API 登录

javascript - 遍历数组数组

javascript - 当它们具有相同的类名时,如何检测鼠标现在位于子元素而不是其父元素上

javascript - 动态地将时间戳转换为不同的时区

javascript - 在 Meteor 中使用 moment.tz.setDefault() 的范围是什么?

javascript - 忽略 moment.js 的 eslint 错误

javascript - 使用utcoffset后如何在momentjs中获取纪元时间