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