为什么moment.js时间比实际小
发布于 9 年前 作者 shinygang 8246 次浏览 最后一次编辑是 8 年前 来自 问答
  var thresholds = {
        s: 45,  // seconds to minute
        m: 45,  // minutes to hour
        h: 22,  // hours to day
        d: 26,  // days to month
        M: 11   // months to year
    };

源码里面45秒就算一分钟了,整体都比实际时间短,请大神指导下。<br/><br/><a class=“from” href=“https://github.com/shinygang/Vue-cnodejs”>I‘m webapp-cnodejs-vue</a>

9 回复

哈哈,我也好奇我算出来的相对时间跟线上moment版本的相对时间有些地方不一样。

我在网上查了下:

relative-time-threshold

不好意思,上面地址贴错了。

fromnow

这是加减法的时候用的东西吧?

@alsotang 我看网站用的fromnow这个方法,分钟数最大就是45分钟前,可能跟这个有关系,我想知道为什么是45,不是60?

@shinygang 这意思就是说,如果一个时间在 46 分钟前,那么 fromnow 显示出来就是【一小时前】。是吧?这还是用在加减法的地方嘛。

怎么说这个地方呢。。这些值就是为了估算的结果更接近真实吧

@alsotang 恩,我就是问这个意思。咋感觉和中国人的习惯不一样。还有能提个需求不,把这个fromnow的运算放api里面,我们客户端直接取运算后的key,减少我们客户端的消耗。

@shinygang 减少客户端的消耗????????这点消耗算那么清楚干嘛。。。

@alsotang 哈哈 @shinygang 说的是文件大小。moment和一堆locale文件用webpack打包之后太大了,其实就只用了两个方法。

试着把moment相关依赖从vue-cnode去掉以后文件大小直接小了一半。

@shinygang @shinygang locale 是可选的啊,不必带上所有。其次,我输出的已经是 iso 标准的格式了,换成中文这不是退步吗

@shinygang 其实关于这个,你可以自己写一个时间比较的,很简单的,也就几行就搞定了。不需要非要用moment,因为你用Moment也就只是为了diff一下而已么

回到顶部