【问题标题】:Moment js issue in getting relative time - fromNow()Moment js 获取相对时间的问题 - fromNow()
【发布时间】:2019-10-21 06:41:50
【问题描述】:

我正在尝试使用 moment.js fromNow() 显示相对时间。但是这些值被四舍五入并显示更高的值而不是完成时间。例如,

moment().subtract('s',110).fromNow() //is giving '2 minutes ago' but I want this to be '1 minute ago'

moment().subtract('m',110).fromNow() //is giving '2 hours ago' but I want this to be '1 hour ago'

moment().subtract('h',44).fromNow() //is giving '2 days ago' but I want this to be '1 day ago'

我们怎样才能只显示完成的时间(分钟/小时/天)?

【问题讨论】:

    标签: javascript angular momentjs


    【解决方案1】:

    也许你可以使用moment().diff(),你可以得到毫秒的差异,文档:https://momentjs.com/docs/#/displaying/difference/

    你可以让你的函数返回你想要的结果。

    对不起,我的英语很差,但我想帮助你。

    【讨论】:

    • 谢谢。但是 diff 不会以“x time ago”格式给出结果
    • 但是你可以写一个这样的函数:
    【解决方案2】:

    在挖掘了 moment.js 文档后找到了我的问题的解决方案,

    // Round relative time evaluation down
    moment.relativeTimeRounding(Math.floor);
    
    moment.relativeTimeThreshold('s', 60);
    moment.relativeTimeThreshold('m', 60);
    moment.relativeTimeThreshold('h', 24);
    moment.relativeTimeThreshold('d', 31);
    moment.relativeTimeThreshold('M', 12);
    

    relativeTimeRounding - 设置舍入函数。 relativeTimeThreshold - 设置秒、分钟、小时等的截止/阈值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      相关资源
      最近更新 更多