我想使用欧洲格式显示日期,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... ] })
货币/日期/数字管道应选择区域设置。LOCALE_ID是一个OpaqueToken,将从角度/核心导入。
import { LOCALE_ID } from '@angular/core';
对于更高级的用例,您可能想从服务中选择语言环境。创建使用日期管道的组件时,语言环境将被解析(一次):
{ provide: LOCALE_ID, deps: [SettingsService], //some service handling global settings useFactory: (settingsService) => settingsService.getLanguage() //returns locale string }
希望对你有效。