使用momentjs语言明智动态的缩写相对时间(Instagram风格)?

时间:2016-05-31 04:43:09

标签: momentjs

moment().startOf('day').fromNow() //3 days ago.

如何更改以上内容以显示3d而不是语言是英语和  " 3 j"如果语言是法语等等根据语言动态变化?

1 个答案:

答案 0 :(得分:0)

您可以使用docs中报告的moment.locale方法。请记住,您必须导入所需的所有区域设置,或者可以使用提供所有支持区域设置的moment-with-locales.js

修改

要自定义momentjs fromNow方法的格式,您可以使用updateLocale,如“自定义”中所述 - >文档的Relative time部分。



moment.updateLocale('en',{
    relativeTime : {
        future: "in %s",
        past:   "%s",
        s:  "seconds",
        m:  "a minute",
        mm: "%d minutes",
        h:  "an hour",
        hh: "%d h",
        d:  "a day",
        dd: "%d d",
        M:  "a month",
        MM: "%d months",
        y:  "a year",
        yy: "%d years"
    }
});

moment.updateLocale('fr',{
    relativeTime : {
        future : 'dans %s',
        past : '%s',
        s : 'quelques secondes',
        m : 'une minute',
        mm : '%d minutes',
        h : 'une heure',
        hh : '%d heures',
        d : 'un jour',
        dd : '%d j',
        M : 'un mois',
        MM : '%d mois',
        y : 'un an',
        yy : '%d ans'
    }
});

moment.locale('fr');
moment().subtract(2, 'days').startOf('day').fromNow() // 2 j
moment.locale('en');
moment().subtract(2, 'days').startOf('day').fromNow() // 2 d

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment-with-locales.js"></script>
&#13;
&#13;
&#13;