小编典典

如何在 Angular 2 的 DatePipe 中设置语言环境?

all

我想使用欧洲格式显示日期,dd/MM/yyyy但使用 DatePipe shortDate
格式它只显示使用美国日期样式MM/dd/yyyy
我假设默认语言环境是 en_US。也许我在文档中丢失了,但是如何更改 Angular2
应用程序中的默认语言环境设置?或者也许有一些方法可以将自定义格式传递给 DatePipe ?


阅读 112

收藏
2022-08-20

共1个答案

小编典典

从 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
}

希望对你有效。

2022-08-20