Moment.js语言环境改变不起作用?

时间:2017-12-05 00:35:27

标签: angular typescript momentjs

我正在尝试设置Moment.js默认语言环境以匹配Angular应用程序中的浏览器语言环境。

我已按照文档中的here所述的Typescript步骤进行操作。这是main.ts

中的代码
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app/app.module';
import { environment } from './environments/environment';

import * as moment from 'moment';
import 'moment/locale/es';

if (environment.production) {
  enableProdMode();
}

moment.locale(navigator.language);

platformBrowserDynamic().bootstrapModule(AppModule)
  .catch(err => console.log(err));

navigator.language默认为es,因为我的浏览器设置但我也尝试手动将其设置为es

稍后在我的代码中,我尝试console.log(moment.locale())并打印es,所以尽管一切正常。此外,当我尝试使用moment.weekDaysShort()获取工作日时,我将名称转换为es语言环境,但顺序不正确。本周应从Monday开始,但weekDays的第一个值为Sunday

知道我做错了什么吗?感谢。

1 个答案:

答案 0 :(得分:0)

  

本周应该从星期一开始,但是星期日的第一个值是星期日。

这不是当下/贡献者团队的想法。

来源会让你自由

https://github.com/moment/moment/blob/4caa268356434f3ae9b5041985d62a0e8c246c78/locale/es.js#L37

weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),