sri*_*vas 1 locale internationalization date-pipe angular
我正在使用角度日期管道进行日期格式化。我想根据用户/客户端区域设置格式化日期。例如,'mm/dd/yyyy' 表示美国英语(en-US),dd.mm.yyyy 表示德语(de-de)。Angular 有短、中、长等格式选项。它们与语言环境默认格式不匹配。如果我使用自定义日期格式,则没有区域设置分隔符。Intl DateTimeFormat 提供精确的格式化日期。有没有办法用角日期管来实现这一点?
首先要确保您已经加载了语言环境数据。您可以app.module.ts 按照文档中的说明执行此操作:
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/de';
registerLocaleData(localeDe);
Run Code Online (Sandbox Code Playgroud)
然后,您有两种选择。
LOCALE_ID变量设置为您的首选语言环境(de-DE在您的情况下)。这可以通过--i18nLocale在ng build或 中使用标志ng serve来完成,也可以通过在引导过程中提供一个值来完成(参见文档)。如果您使用它,日期将根据您使用它的任何地方的区域设置规则进行格式化。:,如果您想要某些先前参数的默认行为,您可以将其设置为未定义。下面的示例示出了使用去DE日期格式,而无需使用任何时区偏移的日期和时间:myDate | date : 'medium' : undefined : 'de-DE'。查看此堆栈闪电战以获取更多示例