2017-08-09 10 views
5

Mam ciąg daty, taki jak ten 1987-06-15T00:00:00.000Z, kiedy dodałem do niego fajkę z datą, data pokazuje inną datę, np. Jun 14, 1987 w amerykańskiej strefie czasowej, ale w Indiach pokazuje poprawnie .Rurka danych Angular2 automatycznie dodająca strefę czasową do tej pory

<div>{{'1987-06-15T00:00:00.000Z' | date}}</div> 
+0

Chcesz wyjścia jak 'dd/mm/yyyy'? –

+0

Możesz określić format w rurze daty. Jeśli nie jesteś zadowolony z dostępnych formatów rur daty, możesz utworzyć i zarejestrować własną rurę w module. – Amit

Odpowiedz

1

Ten kod pracował dla mnie

<div>{{date_of_birth.split("T")[0] | date}}</div> 
4

Ciąg 1987-06-15T00:00:00.000Z reprezentuje różne daty w różnych strefach czasowych przeglądarki.

Fix

Jeśli nie chcesz, aby zmienić datę na podstawie strefy czasowej, wystarczy użyć ciąg parsowania (np substr), a nie data analizowania.

+0

Czy istnieje opcja w rurze daty? – byteC0de

+0

Nie. Jest przeznaczony do reprezentowania określonej daty w strefie czasowej użytkownika. – basarat

+1

Z kodu źródłowego: OSTRZEŻENIA: - ta rura korzysta z interfejsu Internationalization API. Dlatego jest niezawodny tylko w przeglądarkach Chrome i Opera. https://github.com/angular/angular/blob/4.3.3/packages/common/src/pipes/date_pipe.ts#L16-L143 – MeMeMax