Moment.js 自定义相对时间

Moment.js 自定义相对时间

Moment.js 非常容易进行自定义。一般来说,您应该使用自定义设置来创建一个区域设置。

在本文中,我们将详细讨论moment.js如何自定义相对时间,并附有示例。

moment.updateLocale() 函数允许我们获得相对时间的帮助。它帮助我们满足处理相对时间的需求。

语法:

moment.updateLocale('en', {
    relativeTime : Object
});

参数:

  • relativeTime: 必须为Moment对象设置的相对时间。这是一个可选参数。

返回: 它将以字符串形式返回输出。

注意: 这在普通的Node.js程序中不起作用,因为它需要安装全局或项目目录中的外部 Moment.js库。有关详细信息,请参阅此 链接 。

可以使用以下命令安装Moment.js:

moment 模块的安装:

npm install moment

示例1: 在这个示例中,我们简单地使用 moment.updateLocale() 函数来获取以秒为单位的相对时间,该相对时间将作为参数传递给相对时间,并返回具有相对时间的字符串。

// Importing moment module
const moment = require('moment');
let localeData = moment.updateLocale('en', {
    relativeTime: {
        future: "in %s",
        past: "%s ago",
        s: 'Welcome to GeeksForGeeks, a few seconds',
        ss: '%d seconds',
        m: "a minute",
        mm: "%d minutes",
        h: "an hour",
        hh: "%d hours",
        d: "a day",
        dd: "%d days",
        M: "a month",
        MM: "%d months",
        y: "a year",
        yy: "%d years"
    }
});
let a = moment().fromNow();
console.log("The relative time is :", a);

输出:

The relative time is : Welcome to GeeksForGeeks, a few seconds ago

示例2: 在这个示例中,我们正在使用moment.updateLocale()函数来获取相对时间,以秒和分钟为单位,除此之外,我们还使用fromNow(0)函数来获取相对时间与当前时间进行比较,然后返回相对时间。

// Importing moment module
const moment = require('moment');
const m1 = moment().subtract(10, 'm');
const m2 = moment().subtract(25, 's');
console.log(m1.fromNow());
console.log(m2.fromNow());
moment.updateLocale('en', {
    relativeTime: {
        future: "in %s",
        past: "%s ago",
        s: function (number, withoutSuffix, key, isFuture) {
            return '00:' + (number < 10 ? '0' : '')
                + number + ' minutes';
        },
        m: "01:00 minutes",
        mm: function (number, withoutSuffix, key, isFuture) {
            return (number < 10 ? '0' : '')
                + number + ':00' + ' minutes';
        },
        h: "an hour",
        hh: "%d hours",
        d: "a day",
        dd: "%d days",
        M: "a month",
        MM: "%d months",
        y: "a year",
        yy: "%d years"
    }
});
console.log(m1.fromNow());
console.log(m2.fromNow());

输出:

10 minutes ago
a few seconds ago
10:00 minutes ago
00:25 minutes ago

参考: https://momentjs.com/docs/#/customization/relative-time/

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程