Nodejs momentjs如何使用中文的Relative Time?

Nodejs momentjs如何使用中文的Relative Time?

我在Browser里面调用的moment,看官方文档没看懂。 就是让一个date变成,今天 10:30, 或者是5分钟前。

4 回复

当然可以。在 Node.js 中使用 Moment.js 并将其配置为支持中文的相对时间格式是一个常见的需求。下面我将详细说明如何实现这一点。

安装 Moment.js 和 Moment.js 的中文本地化插件

首先,你需要安装 momentmoment-locales-webpack-plugin(或直接安装 moment 的中文本地化包)。

npm install moment
npm install moment-locales-webpack-plugin

或者,如果你只需要中文本地化:

npm install moment
npm install moment/locale/zh-cn

加载并使用中文本地化

接下来,在你的 Node.js 代码中加载并使用中文本地化。

const moment = require('moment');
require('moment/locale/zh-cn'); // 加载中文本地化

// 设置语言为中文
moment.locale('zh-cn');

// 示例日期
const date = moment().subtract(5, 'minutes'); // 例如,5分钟前

// 使用中文的相对时间格式
console.log(date.fromNow()); // 输出 "5分钟前"

示例代码解析

  1. 安装依赖:通过 npm install 安装必要的模块。
  2. 引入模块:在 JavaScript 文件中引入 moment 和中文本地化模块。
  3. 设置语言:使用 moment.locale('zh-cn') 将语言设置为中文。
  4. 创建日期对象:使用 moment() 创建一个新的日期对象,并通过 .subtract() 方法减去一定的时间(如5分钟)。
  5. 输出相对时间:使用 .fromNow() 方法输出相对时间,该方法会根据当前时间自动生成类似 “5分钟前”、“今天 10:30” 这样的文本。

注意事项

  • 如果你在浏览器环境中使用 Moment.js,确保你已经正确地加载了中文本地化文件。
  • 如果你使用 Webpack 等构建工具,可能需要配置 moment-locales-webpack-plugin 来确保只打包所需的本地化文件,以减少最终打包文件的大小。

希望这些信息对你有所帮助!如果你有任何其他问题,请随时提问。


如果是中文的话, 应该加这句就可以了.

moment.lang('zh-cn');

哦哈,我连英文的Relative Time也不会显示。。。。求教如何显示英文的Relative Time

要在 Node.js 中使用 Moment.js 显示中文的相对时间(例如 “今天 10:30” 或 “5 分钟前”),你可以使用 moment-relative-time 插件并配合 moment/locale/zh-cn 来实现。

首先,确保你已经安装了 Moment.js 和 moment-relative-time

npm install moment moment-relative-time

然后,你可以使用以下代码来设置 Moment.js 的语言环境,并显示中文的相对时间:

const moment = require('moment');
require('moment-relative-time');
require('moment/locale/zh-cn');

// 设置语言为中文
moment.locale('zh-cn');

// 示例日期
const date = moment().subtract(30, 'minutes');

// 获取中文相对时间
const relativeTime = date.fromNow();
console.log(relativeTime); // 输出:30分钟前

// 获取当前日期的时间
const currentTime = moment().format('YYYY年MM月DD日 HH:mm');
console.log(currentTime); // 输出类似:2023年10月05日 14:30

解释

  1. 安装依赖

    • moment 是一个处理日期和时间的强大库。
    • moment-relative-time 插件提供了 fromNow() 方法来生成相对时间。
  2. 设置语言

    • 使用 moment.locale('zh-cn') 设置 Moment.js 的语言环境为中文。
  3. 获取相对时间

    • 使用 date.fromNow() 方法可以获取相对于当前时间的相对时间,例如 “30分钟前”。
  4. 获取当前日期的时间

    • 使用 moment().format('YYYY年MM月DD日 HH:mm') 可以格式化当前时间为中文格式,例如 “2023年10月05日 14:30”。

这样,你就可以在 Node.js 环境中使用中文的相对时间和当前日期的时间了。

回到顶部