Renderuje każdy znacznik czasu w strefie członka, czytaj każdy jako UTC

Fixkamo-internal
Szycy
22 sierpnia 2026 11:28 UTC
Autor
kamo
Pochęt się
ec88120

Bezpośrednia wiadomość wysłana o 3:33 AM Pacific wyświetlała "10:33 AM" — surowe UTC Zegar, wydrukowany tak, jakby był lokalny. Dwie niezależne wady, obecne Na niemal każdej powierzchni, która pokazuje czas. Paras. Każdy serwis Java przechowuje znaczniki czasu jako LocalDateTime i umieszcza je Na przewodze z tostruing(): "2026-08-22T10:33:12.345", bez przesunięcia i Nie ma Z. Wartość to UTC, ponieważ kapsuły są, ale ciąg znaków tak nie mówi - ECMAScript odczytuje bezkomensowoterminową datę jako LOCAL. Nowa data() w Los Przeglądarka Angeles wylądowała siedem godzin później, wiarygodnie, cicho, wszędzie. Zgaśnięcie. doLocaleTimeString() bez formatów timeZone w formacie BROWSER Strefa, fakt o laptopie. Członek, którego profil mówi, że Eastern pracuje od Hotel w Denver musi nadal czytać ich zapisy na Wschodzie. useFormatters() Zbudował każdy Intl.DateTimeFormat bez timeZone w ogóle. Aplikacja/lib/serverTime.ts jest teraz jedynym miejscem, w którym oba są rozliczone: parseServerDate / toServerDate / serverEpochMillis traktuje łańcuch offsetowy jako UTC i mijać Strefa-ponoszenie przez nietknięte; formatInZone i przyjaciele renderują w Wyraźna strefa; nagi YYYY-MM-DD pozostaje w dniu, w którym nazwie, zamiast przesuwać się Z powrotem jeden dla wszystkich na zachód od Greenwich; wiadra strefoweDayKey przez członka Dzień, więc wiadomość o 18:00 pacyficzna przestaje się jutro zgłaszać. Sama strefa jest rozwiązana SERVER-SIDE w układzie korzeniowym i przenoszona przez MemberTimezoneProvider, więc SSR i klient zgadzają się na pierwszy render, a raczej niż przerzucać po nawodnieniu. useFormatters() wiąże go, a 175 składników teraz Zabierz to stamtąd. timezoneService jest zastąpiony i udokumentowany jako taki: czyta "TZ", które PostAuth-Service wypełnia raczej z wiersza UŻYTKOWNIKA Poza profilem członkiem, a następnie ładuje go w localStorage na zawsze - dlatego Poprawa strefy czasowej profilu nie robi nic, dopóki dane dotyczące witryny nie zostały Oczyszczone. Nie tylko kosmetyczne. Pokwitowania odczytu czatu zostały porównane z znacznikami czasu wiadomości na dwóch różnych zegarach, a to porównanie decyduje o tym, czy "niewysłać" czy Oferowane jest "revoke attachment". callbackUpilnotacja i odpowiedź należna pilność "jest To na dziś" w kalendarzu przeglądarki; oba teraz weź strefę członka, jak i Testy nazywają go, a nie w zależności od tego, gdzie działa apartament. Jest podłączony do testu npm i nie udaje mu się zbudować W przypadku nowego wystąpienia któregokolwiek z wad – w tym Date.parase i Konkretnie InternationalDTimeFormat. Test nie może tego złapać sam: urządzenia są Zbudowany z toISOString(), który dodaje do produkcji Z nie wysyła, więc Apartament przechodzi, gdy aplikacja jest godzinami. Prawdziwe wyjątki (locka ściennego Wpisane przez członków, data kalendarza zakotwiczona w południe UTC) ma przy sobie serwerTime-ok Komentarz mówiący dlaczego.

Wszystkie zmiany

Jak to, co widzisz żeglugę?

Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.

Start Free ForeverZobacz ceny