Angular 5 - 日期 - 语言

11

我在我的Angular 5应用程序中使用这个表达式:

{{ viewDate | date:'MMM' }}

月份缩写以英文显示,如何将输出切换为德语?

[已解决] https://angular.io/api/core/LOCALE_ID

1个回答

16

正如你已经指出的,你必须在应用程序中定义一个本地化(locale)。DatePipe 的文档说明:

根据语言环境规则格式化日期。

管道应该像这样使用:

{{ date_expression | date[:format[:timezone[:locale]]] }}

正如您所看到的,该管道接受一个formattimezonelocale参数(除了要解析的实际日期)。

进一步阅读文档说明:

locale是一个字符串,用于定义要使用的区域设置(默认情况下使用当前的LOCALE_ID)。

这里有关于LOCALE定义如何工作的阅读材料。

您可能想将整个应用程序本地化为德语。首先,您需要在AppModule中导入德语区域设置。

import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
import {LOCALE_ID, NgModule} from '@angular/core';
 
registerLocaleData(localeDe);

现在您可以像往常一样使用地区设置

@NgModule({
  // ...
  providers: [{provide: LOCALE_ID, useValue: 'de'}]
})
export class AppModule{}

您的初始表达式 {{viewDate | date:'MMM'}} 现在应输出德语本地化的缩写月份。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接