Mam problem z wyświetlaniem daty w angularze z konkretnymi dniami tygodnia i miesiącami słownie
Chciałbym używać formatu: np. "pon. 5 grudnia".
Z API dostaje już konkretny DateTime (biblioteka Luxon - następca moment.js)
I tutaj zaczyna się problem bo mogę użyć DatePipe i wtedy ładnie mi te datę sformatuje, ale dostałem polecenie żeby spróbować to zrobić bez pipe, a na funkcjach, które już są w bibliotece Luxon np. MojaData.ToLocalString(format)...
Niestety o ile DatePipe wyświetla mi dobrze datę (z dobrym językiem aplikacji - nie muszę robić tłumaczeń na dni tygodnia, a język aplikacji != język przeglądarki) to wszystkie funkcje z Luxon nie widzę by działały w sposób podobny do datePipe, ponieważ biorą dany język z przeglądarki, a nie ten ustawiony przez użytkownika.
dlaczego DatePipe bierze poprawnie język do dni tygodnia a DateTime.ToLocalString już nie?
Tymczasowo wyciągam Locale_Id (nie co to do końca) i przekazuje do metody ToLocalString i działa... Ale to rozwiązanie wygląda jak g---o i próbuje zrozumieć dlaczego tak się dzieje.
Jestem dość nowy w angularze, więc nie wiem jak te ustawienia lokalizacyjne w ogóle działają i gdzie są zapisywane (wiem że język użytkownika zapisujemy w bazie)
Za wszelkie rady, podpowiedzi z góry dziękuję.
#angular #frontend #javascript
Chciałbym używać formatu: np. "pon. 5 grudnia".
Z API dostaje już konkretny DateTime (biblioteka Luxon - następca moment.js)
I tutaj zaczyna się problem bo mogę użyć DatePipe i wtedy ładnie mi te datę sformatuje, ale dostałem polecenie żeby spróbować to zrobić bez pipe, a na funkcjach, które już są w bibliotece Luxon np. MojaData.ToLocalString(format)...
Niestety o ile DatePipe wyświetla mi dobrze datę (z dobrym językiem aplikacji - nie muszę robić tłumaczeń na dni tygodnia, a język aplikacji != język przeglądarki) to wszystkie funkcje z Luxon nie widzę by działały w sposób podobny do datePipe, ponieważ biorą dany język z przeglądarki, a nie ten ustawiony przez użytkownika.
dlaczego DatePipe bierze poprawnie język do dni tygodnia a DateTime.ToLocalString już nie?
Tymczasowo wyciągam Locale_Id (nie co to do końca) i przekazuje do metody ToLocalString i działa... Ale to rozwiązanie wygląda jak g---o i próbuje zrozumieć dlaczego tak się dzieje.
Jestem dość nowy w angularze, więc nie wiem jak te ustawienia lokalizacyjne w ogóle działają i gdzie są zapisywane (wiem że język użytkownika zapisujemy w bazie)
Za wszelkie rady, podpowiedzi z góry dziękuję.
#angular #frontend #javascript



Locale powinieneś mieć gdzieś trzymane w state aplikacji razem z innymi defaultowymi settingsami apki
Dlaczego to działa w DatePipe? Bo dokładanie takie samo rozwiązanie jest tam zaimplementowane. Tzn w konstruktorze tej klasy wstrzyknie jest locale_id, a następnie wszystkie formatowania daty są robione zgodnie z tym parametrem.