繁体   English   中英

Moment.js中的相对日期使用.fromNow() - 如何在几年,几个月和几天前聚在一起?

[英]Relative Date in Moment.js using .fromNow() - how to get together years, months and days ago?

  1. 假设我有一个日期字符串2015-02-01 - (2015年2月1日)
  2. 今天我们有2016-07-02 (2016年7月2日)

我们可以很容易地看到,旧的日期发生了约1年5个月 1天前。

我希望使用Moment.js获得相对结果,所以我做了:

return moment('2015-02-01).fromNow();

遗憾的是图书馆的结果a year ago我得到a year ago ,明年几乎有一半被忽略(缺少5个月和1天)。

传递给.fromNow()的唯一可用布尔参数是没有任何帮助的。 是否可以获得完整的相对日期,如果需要,我可以控制故障甚至是小时,分钟和秒?

根据您想要的方向,您可以选择几个选项。 可能最直接的是使用持续时间而不是.fromNow()

做就是了:

var diff = moment('2015-02-01').diff(moment(), 'milliseconds');
var duration = moment.duration(diff);

这将为您提供持续时间类型,您可以从中获取大量信息。 例如:

duration.years(); //-1
duration.months(); //-4
duration.days();// -30
duration.hours(); //-8

或者如果你想要聚合的单位:

duration.asYears(); //-1.416481451250425
duration.asMonths(); //-16.997784898617585

等等。 您可以根据需要格式化。

如果您想要更高级的持续时间格式,可以查看此插件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM