我想使用欧洲格式显示日期,dd/MM/yyyy但使用 DatePipe shortDate 格式它只显示使用美国日期样式MM/dd/yyyy。 我假设默认语言环境是 en_US。也许我在文档中丢失了,但是如何更改 Angular2 应用程序中的默认语言环境设置?或者也许有一些方法可以将自定义格式传递给 DatePipe ?
dd/MM/yyyy
MM/dd/yyyy
从 Angular2 RC6 开始,您可以通过添加提供程序在应用程序模块中设置默认语言环境:
@NgModule({ providers: [ { provide: LOCALE_ID, useValue: "en-US" }, //replace "en-US" with your locale //otherProviders... ] })
Currency/Date/Number 管道应该选择语言环境。LOCALE_ID 是一个OpaqueToken,要从 angular/core 导入。
import { LOCALE_ID } from '@angular/core';
对于更高级的用例,您可能希望从服务中获取语言环境。创建使用日期管道的组件时,将解析(一次)区域设置:
{ provide: LOCALE_ID, deps: [SettingsService], //some service handling global settings useFactory: (settingsService) => settingsService.getLanguage() //returns locale string }
希望对你有效。