Moment.js 设置中文语言

 2016年02月13日    10175     声明


Moment.js 是一个JavaScript编写的支持多种语言的日期处理类库,用于解析、检验、操作、以及显示日期。Moment.js 默认使用英文显示,但其国际化(i18n)功能可设置包括中文在内的多种语言。


  1. 全局设置中文
  2. 局部设置中文显示


Moment.js提供了包括简体/繁体中文在内的多种言支持,可以从moment安装目录/locale文件夹下查看你所安装支持的语言。

1. 全局设置中文

Moment.js 自v 2.8.1版本之后,更改默认语言使用locale()方法。修改全局语言设置语法结构如下:

moment.locale(String);
moment.locale(String[]);
moment.locale(String, Object);

String是一个表示所要设置语言的键值,如,设置Moment.js全局使用中文语言:

moment.locale('zh-cn');
moment().fromNow();  // 几秒前

Moment会智能识别传入的键值,当你设置中文时传入的键值可以是:'zh-cn''zh-Cn''zh-CN'等。


使用语言列表

locale()方法支持传入语言列表(数组参数)。当传入语言列表时,Moment会从列表中依次匹配。当有多个支持语言,会使用第一个,匹配失败会使用英文:

moment.locale(['zh-cn', 'zh-tw']);  //会使用'zh-cn'


自定义支持

Moment支持自定义语言显示,你可以添加一个独立语言包自定义显示语言包中的时间单位。


2. 局部设置中文显示

当全局设置Moment后,我们可能会在某个Moment实例中使用不同的语言。Moment实例中同样有locale()方法:

moment().locale(String);

如,我们全局使用简体中文显示,但有一个实例要使用繁体中文:

moment.locale('zh-cn');
moment().locale('zh-tw').fromNow();  // 幾秒前
moment().fromNow();  // 几秒前


更多关于Moment语言设置功能请参考:Moment.js 日期时间的国际化(i18n)