Strefa czasowa - rejestr dat i godzin dla ustawionego statusu

0

Witam.
Jestem na starcie pewnego projektu do zarządzania statusami "produkcyjnymi". To nie jest taka faktyczna produkcja. Użytkownik na podstawie statusów informuje zarząd na jakim etapie jest zamówienie. Problem polega na tym, że jednym z użytkowników (osobna rola) jest ktoś w kompletnie innej strefie czasowej, wydaje mi się, że klient wspomniał coś o Azji. I teraz, jednym z czynności jest zatwierdzenie któregoś z etapów przez tego "producenta" z Azji, czyli wybranie kolejnego statusu. W tle, przy każdej operacji zmiany statusu, dopisuje się do bazy data i godzina tej operacji. Czy przypadkiem nie zrobi się z tego bałagan? Czy jest na to jakieś rozwiązanie? A może tylko niepotrzebnie się doktoryzuje nad tym i to już działa automatycznie.

Dla zarządu najważniejsza jest "nasza" data i godzina. Nie chciałbym mieć takiej sytuacji, że teraz, pisząc tego posta jest 8:40, w Tajwanie jest 14:40, status wpadnie mi do bazy z 14:40, a kolejny etap, tego samego dnia, dla przykładu, wpadnie z 12:35... Nie wiem czy dobrze tłumaczę, ale statusy są w określonej kolejności i nie da się wybrać statusu wstecz, ani też nie da się kolejnego statusu ustawić z godziną wcześniejszą niż poprzedni.

PRZYKŁAD
Status 1 - 01.07.2023 8:45
Status 2 - 01.07.2023 15:07 <-- bo w Tajwanie jest taka godzina. U nas wtedy będzie 09:07
Status 3 - 01.07.2023 13:17 <-- ustawiony z Polski jako kolejny, ale godzina jest "niepoprawna"

W przypadku Status 2 do bazy powinno wpaść 09:07.

BACKEND - .NET 7 WebAPI
FRONTEND - Angular 16
HOSTING - serwer klienta, który stoi w jego firmie, w Polsce (IIS)

PS.
Piszę posta w tym dziale, bo nie jestem pewny czy tyczy się to frontu, czy backendu, czy jeszcze czegoś innego 🤷‍♂️

5

Trzymaj w bazie czas UTC, a każdemu użytkownikowi pokazuj jego czas lokalny.

Pracownik z Tokio zaakceptuje to o 17:28, ale kierownik w Polsce zobaczy, że była to 10:28.

0

Czy zwykły DateTime.UtcNow ogarnie taki temat, czy powinienem skorzystać z czegoś zewnętrznego jak Noda Time? 🤔

1 użytkowników online, w tym zalogowanych: 0, gości: 1