![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Hejka,
zastanawiam się jak należy zaprojektowac bazę/aplikacje pod kątem użytkowników z różnych stref czasowych. Załóżmy, że mamy moduł komumunikacji i rozmawia ze sobą dwóch użytkownikow z roznych stref czasowych. W jaki sposób zapisywać czasy wiadomosci w bazie? A na dodatek serwer tez stoi w innej strefie niż ci użytkownicy. Albo kalendarz i ktos ustawil na wydarzenie powiadomienia 4 godziny przed wydarzeniem. Jak serwer ma pobierac poprawnie wydarzenia z roznych stref i sprawdzac ze wlasnie ma juz pojsc powiadomienie? Czy moze przy czasie w tabeli dodac jeszcze kolumne STREFA gdzie bedzie podane z jakiej strefy szlo zapytanie? np "+02:00", "-11:00". Tylko wowczas jak pisac zapytanie by bylo optymalnie? A moze jeszcze inaczej do tego podejsc? Pisał już może ktoś coś takiego i moze podzielić się doświadczeniami w tej materii? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie, wszystko działa (IMG:style_emoticons/default/smile.gif)
Żeby była jasność napiszę jaki ostatecznie mechanizm zastosowalem: Wszystkie daty do bazy zapisuje do strefy bazowej, czyli do UTC. Danych nie trzymam jako timestamp, tylko w formacie DateTime. Nie zapisuje przy datach zadnych dodatkowych info o strefie. Info o strefie zapisane jest w profilu użytkownika i na tej podstawie wyświetlam mu wszelkiego rodzaju daty, konwertujac je ze strefy bazowej do jego aktualnej strefy. Gdy użytkownik zmieni swoją strefę, to automatycznie wszystkie daty wyświetlają się tak jak trzeba. Oczywiście wszelkie zmiany czasu letniego na zimowy i na odwrot działają w tym mechaniźmie tak jak trzeba. Po dzisiejszzej zmianie wszystkie czasy wyświetlają się poprawnie. Dziękuję wszystkim za owocną dyskusję (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 16:24 |