/ / Przekazuj język za pomocą Date Pipe w Angular 2 HTML template - kątowy, maszynopis, angular2-template, date-pipe

Przekaż język za pomocą szablonu Data Pipe w Angular 2 HTML - kątowy, maszynopis, angular2-template, date-pipe

W Angular2 możemy sformatować datę za pomocą DatePipe używając maszynopisu jako:

new DatePipe (navigator.language || "en-US"). transform (mydate, „medium”)

Ale chcę to zrobić po stronie HTML. Czytałem, że mogę to zrobić:

mydate | data: „średni”

Ale to nadal nie zajmuje się lokalizacją, jak w, nie przekazuje języka. Jak zmodyfikować użycie potoku w moim kodzie HTML, aby móc również przekazać język?

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli chcesz użyć DatePipe jesteś ograniczony do dostarczonych tam ustawień domyślnych, ale jeśli chcesz ustawić ustawienia regionalne w swoim szablonie, czy to dosłowne, czy pochodzi ze zmiennej, możesz zdefiniować niestandardową rurę w następujący sposób:

import { Pipe, PipeTransform } from "@angular/core";
import { DatePipe } from "@angular/common";

@Pipe({name: "dateWithLocale"})
export class DateWithLocalePipe implements PipeTransform {
constructor(){}
transform(value: string, locale: string, pattern: string): number {
return new DatePipe(locale).transform(value, pattern);
}
}

i użyj tego tak:

{{time | dateWithLocale: "en-US" : "short"}}

Możesz zobaczyć działający przykład tutaj.