gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:10:22 26 4
gpt4 key购买 nike

  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();

不幸的是library rounds结果,我得到了 一年前,其中将近一半的下一年被忽略(缺少 5 个月零 1 天)。

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

最佳答案

您有几个选项,具体取决于您想要的方向。可能最直接的方法是使用持续时间而不是 .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

等等。您可以根据需要设置格式。

如果您想要更高级的持续时间格式,您可以查看 this plugin .

关于javascript - Moment.js 中使用 .fromNow() 的相对日期 - 如何在几年前、几个月前和几天前聚在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38158848/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com