【问题标题】:Get number of days as number in moment.js with x.fromNow();使用 x.fromNow() 获取 moment.js 中的天数;
【发布时间】:2015-07-28 19:04:24
【问题描述】:

我使用 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 给了我字符串“in 3 days”——但是如果没有字符串“in days”,我怎样才能得到一个以天或小时为单位的数字。 当倒计时小于 7、4 或 1 天时,我想做一个比较并用不同的颜色标记倒计时。

【问题讨论】:

  • 我建议您修改您的问题,因为目前它有点神秘。
  • @Petrichor 我编辑了它。
  • 现在更有意义了——不错!

标签: javascript date momentjs countdown


【解决方案1】:

使用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 })

【讨论】:

  • OP 想要从现在开始的持续时间,而不是从创建开始。 var dur = moment.duration({ from: moment(), to: expires } );还问天:console.log(dur.asDays());
  • 好的。我很确定 OP 可以弄清楚如何在 from 选项中使用 new Date 而不是 create
猜你喜欢
  • 2016-06-03
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-17
  • 2022-01-13
  • 2018-06-07
相关资源
最近更新 更多