dd/MM/yyyy
DatePipeを使用してヨーロッパ形式で日付を表示したいショートデート米国の日付スタイルを使用してのみ表示されるようにフォーマットしますMM/dd/yyyy
。
デフォルトのロケールは en_US であると想定しています。ドキュメントに不足しているかもしれませんが、Angular2 アプリでデフォルトのロケール設定を変更するにはどうすればよいですか? または、カスタム形式を DatePipe に渡す方法があるのでしょうか?
ベストアンサー1
Angular2 RC6 以降では、プロバイダーを追加することで、アプリ モジュールにデフォルトのロケールを設定できます。
@NgModule({
providers: [
{ provide: LOCALE_ID, useValue: "en-US" }, //replace "en-US" with your locale
//otherProviders...
]
})
通貨/日付/数値パイプはロケールを取得します。LOCALE_IDは不透明トークン、angular/core からインポートされます。
import { LOCALE_ID } from '@angular/core';
より高度な使用例では、サービスからロケールを取得する必要があるかもしれません。ロケールは、日付パイプを使用するコンポーネントが作成されるときに (1 回) 解決されます。
{
provide: LOCALE_ID,
deps: [SettingsService], //some service handling global settings
useFactory: (settingsService) => settingsService.getLanguage() //returns locale string
}
それがあなたにとってうまくいくことを願っています。