2014-09-19 69 views
1

我正在使用moment.js进行倒计时。
这将是很好,如果我可以有条件格式。在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

我还没有见过这样的事情在doc虽然。

回答

0

A moment对象表示一天的时间,这对倒计时没有意义。您应该使用时刻duration object来代替此目的。

时刻还没有格式化的持续时间的直接支持,所以你会做这样的事情:

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

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

+0

谢谢。我不知道持续时间对象:) – Dionys 2014-10-01 07:50:57