使用x.fromNow()获取moment.js中的天数。

时间:2015-07-28 19:04:25

标签: javascript date momentjs countdown

我使用Moment.js

var created = moment("24.07.2015 16:09:05", "DD.MM.YYYY hh:mm:ss");
var expire= created.add(7, 'days');
var countdown = expire.fromNow();

var countdown在3天内给我字符串"" - 但是如何在没有字符串的情况下在几天或几小时内只获得一个数字"在几天内#34; 我想做一个比较并用不同的颜色标记倒计时,当它小于7,或4或1天时。

1 个答案:

答案 0 :(得分:8)

使用moment.duration

var created = moment("24.07.2015 16:09:05", "DD.MM.YYYY hh:mm:ss");
var expires = created.clone().add(7, 'days');

var now = new Date;
var dur = moment.duration({ from: now, to: expires });

console.log(dur.humanize()); // => "3 days"
console.log(dur.asDays()); // => 3.0729382175925926

这正是fromNow behind the scenes的作用。您可以对fromto选项使用任何日期或时刻对象,例如,您希望从现在到expires之间获得时间,您可以moment.duration({ from: new Date, to: expires })