Moment js 越来越早

Moment js getting time ago

我用的是moment来获取时间,但是对于1小时前发生的事情,它是这样写的:'am hour ago',是否可以获取'1小时前'?几个月都一样,'a month ago' => '1 个月前'

您可以配置 moment 以您想要的任何格式显示相对时间。例如:

moment.updateLocale('en', {
    relativeTime : {
        future: "in %s",
        past:   "%s ago",
        s  : 'a few seconds',
        ss : '%d seconds',
        m:  "a minute",
        mm: "%d minutes",
        h:  "1 hour ago", //this is the setting that you need to change
        hh: "%d hours",
        d:  "a day",
        dd: "%d days",
        w:  "a week",
        ww: "%d weeks",
        M:  "1 month ago", //change this for month
        MM: "%d months",
        y:  "a year",
        yy: "%d years"
    }
});

进行此更改后,moment 库可以照常使用。

以下是一些示例:

moment('2021-07-23 14:00:00').fromNow();

如果您的日期格式与预期格式不同,那么您还需要提供获取日期的格式。不这样做会 return 'Invalid date'.

moment('21/07/2021',"DD/MM/YYYY").fromNow();

您还可以指定多种格式:

moment('21-07-2021', ['DD/MM/YYYY', 'YYYY/MM/DD']).fromNow();

您随时可以检查您是否获得了有效日期。这有助于进行一些检查,或者在调试代码时很有帮助:

moment('abc', ['MM/DD/YYYY', 'YYYY/MM/DD']).isValid() //false

有关更多信息,请参阅此处的文档:https://momentjs.com/docs/#/customization/relative-time/