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 № 1Jeś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.