我正在尝试设置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
。
知道我做错了什么吗?感谢。
答案 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('_'),