moment.js中有条件格式吗

Is there any conditional formatting in moment.js?

本文关键字:格式 有条件 js moment      更新时间:2023-09-26

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

这是我现在的

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

显示:

0小时43分钟20秒


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

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

显示:

43分钟20s

不过,我还没有在医生身上看到过类似的情况。

moment对象表示一天中的某个时间,这对于倒计时没有意义。您应该使用moment的duration对象来实现此目的。

Moment还没有直接支持格式化持续时间,所以你可以这样做:

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

或者,您可以尝试即时持续时间格式插件,但您仍然需要自己处理条件评估。