Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Aplikacja i uzytkownicy z roznych stref czasowych
nospor
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Przy wysyłaniu wiadomości do bazy zapisujesz czas ze strefy użytkownika. Gdy go pobierasz obrabiasz na podstawie strefy serwera lub strefy innego użytkownika.
No to to wydaje mi sie juz zupelnie dziwne.....
Wg. tego co mowisz to moge miec w bazie dwa rekordy z takimi datami:
2013-10-16 13:00
oraz
2013-10-16 13:00

Niby dwa takie same czasy, ale nie, bo jedno jest w jednej strefie a drugie w drugiej. By porownac na poziomie (niewazne jak) ze sobą obie daty to musze wpierw przekonwertowac je do tej samej strefy lub jakkolwiek przekonwertowac, by móc je porownac.


Natomiast dotej pory sadzilem, ze mowimy o sytuacji, gdy do bazy zapisujemy juz daty przekonwertowane do tej samej bazowej strefy (co powiedzial @pyro), wowczas nasz daty moga wygladac tak:
2013-10-16 11:00
oraz
2013-10-16 15:00

Są to rozne daty, ale w tej samej strefie wiec na poziomie bazy moge je bez problemu porownywac.
Czy tak nie jest lepiej?
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post

Posty w temacie
- nospor   Aplikacja i uzytkownicy z roznych stref czasowych   16.10.2013, 08:58:44
- - !*!   Zapisuj czas serwera + datetime i po stronie użytk...   16.10.2013, 09:07:41
- - rocktech.pl   Witam. Czas trzymaj w "timestampie" (on...   16.10.2013, 09:11:57
- - nospor   @!*! moglbys rozwinac swoją mysl bo chyba ...   16.10.2013, 09:20:09
- - !*!   [PHP] pobierz, plaintext $timezone = new DateTime...   16.10.2013, 09:33:50
- - nospor   !*! no wlasnie mniej wiecej teraz tak mam ...   16.10.2013, 09:46:46
|- - !*!   Cytat(nospor @ 16.10.2013, 10:46:46 )...   16.10.2013, 09:50:27
- - nospor   Ok, skoro wiec w bazie będę zapisywał daty w czasi...   16.10.2013, 10:03:58
- - !*!   Zostaw czas letni i zimowy bo on nie ma znaczenia....   16.10.2013, 10:06:36
- - nospor   Jeszcze nie jestem przekonany 1) Rozwazmy doklad...   16.10.2013, 10:15:47
- - !*!   Cytat1) Rozwazmy dokladniej ten przypadek z poprze...   16.10.2013, 10:23:58
- - nospor   CytatWłaśnie to staram Ci się wyjaśnić, rozpisz to...   16.10.2013, 10:37:02
- - !*!   A w jakiej postaci google zwraca te dane? Nigdy si...   16.10.2013, 10:39:11
- - nospor   Google zwraca dane w takiej postaci: 2013-10-11T13...   16.10.2013, 10:47:06
- - !*!   CytatGoogle zwraca dane w takiej postaci: 2013-10-...   16.10.2013, 10:50:56
- - hind   @nospor: niedawno przechodziłem przez strefy czaso...   16.10.2013, 10:51:47
- - nospor   No dobra, to moze jeszcze jedna sytuacja: Koles z ...   16.10.2013, 11:03:08
- - !*!   @hind a jak Ty w takim formacie wyliczasz ten czas...   16.10.2013, 11:08:24
- - nospor   Cytat@nospor - cron chyba będzie wiedział na jakim...   16.10.2013, 11:15:02
|- - !*!   Cytat(nospor @ 16.10.2013, 12:15:02 )...   16.10.2013, 11:19:08
- - nospor   Byc moze Ogólnie zastnawiam sie czy konwertowani...   16.10.2013, 11:24:40
- - pyro   Cześć, Sorry, jeśli ktoś już wcześniej to napisał...   16.10.2013, 11:27:36
- - rocktech.pl   Hej. Musisz mieć czas Zulu w bazie! Zawsze ...   16.10.2013, 11:28:48
- - nospor   @pyro tak, byla o tym mowa @rocktech ale czy to ...   16.10.2013, 11:35:02
- - !*!   CytatOgólnie zastnawiam sie czy konwertowanie wszy...   16.10.2013, 11:35:37
- - nospor   !*! to chyba sie nie zrozumielismy... Sadz...   16.10.2013, 11:44:30
- - rocktech.pl   CytatW Twoim pomysle zamiast do Europe/Warsaw to k...   16.10.2013, 11:50:30
- - !*!   Emm to był tylko przykład. Strefę możesz zapisać t...   16.10.2013, 11:51:29
- - nospor   CytatZawsze możesz przekonwertować UTC do swojej l...   16.10.2013, 11:58:27
- - !*!   Cytat@!*! czyli wkoncu myslimy o tym samym...   16.10.2013, 12:09:06
- - nospor   CytatPrzy wysyłaniu wiadomości do bazy zapisujesz ...   16.10.2013, 12:25:07
- - !*!   Cały czas mieszasz podejście projektowania dla wia...   16.10.2013, 12:45:20
- - nospor   Dla mnie oba zagadnienia sa podobne. Data to data,...   16.10.2013, 12:51:48
- - !*!   Wiadomości... X wysyła z USA o 10:00 do Y który je...   16.10.2013, 13:07:43
- - nospor   CytatWiadomości... X wysyła z USA o 10:00 do Y któ...   16.10.2013, 13:15:51
- - !*!   CytatSkupmy sie wiec na tym. Czyli w tym przypadku...   16.10.2013, 13:32:52
- - rocktech.pl   Cytat(nospor @ 16.10.2013, 12:58:27 )...   16.10.2013, 13:50:51
- - nospor   CytatBędąc X wysyłasz wiadomość o 10:00 konwertuje...   16.10.2013, 14:13:46
- - !*!   CytatNie, nie czasu serwera, tylko strefy bazowej....   16.10.2013, 14:37:25
- - hind   @!*!: W bazie mam datę w UTC (+0) i dopier...   17.10.2013, 07:28:40
- - nospor   !*! CHyba z lekka przesadzasz. Do operowan...   17.10.2013, 07:34:39
- - !*!   @nospor nadal tego nie ogarniasz, napisz sobie ten...   17.10.2013, 08:14:56
- - nospor   !*! Nie, teraz ty tego nie ogarniasz. Napi...   17.10.2013, 08:18:13
- - emp   Cytat(!*! @ 17.10.2013, 07:14...   17.10.2013, 08:26:34
- - !*!   [PHP] pobierz, plaintext // data spotkania$date = ...   17.10.2013, 08:27:45
- - nospor   @emp dorzuć kisiel... co tak na sucho po mordach b...   17.10.2013, 08:30:28
- - !*!   Nie. Data spotkania to 10 w Denver, 18 czasu Polsk...   17.10.2013, 08:33:07
- - nospor   !*! Koles umowil sie z warszawiakami. Oni ...   17.10.2013, 08:35:15
|- - !*!   Cytat(nospor @ 17.10.2013, 09:35:15 )...   17.10.2013, 08:40:58
- - nospor   !*! Dziekuje ci za wklad w dyskusję, napr...   17.10.2013, 08:45:21
- - !*!   Popieram, tylko podaj jeszcze kod jak możesz w Two...   17.10.2013, 08:46:46
- - nospor   Nie bardzo rozumiem.... Jaki kod? !*! Ost...   17.10.2013, 09:17:52
- - buliq   [PHP] pobierz, plaintext <?php//X jest w Denver...   17.10.2013, 09:41:50
- - !*!   @nospor - i tak właśnie działa mój kod jaki napisa...   17.10.2013, 13:52:09
- - nospor   W warszawie kolesiowi powinna sie pokazywac 18 zas...   17.10.2013, 14:08:45
- - !*!   Dlatego piszę Ci to od początku. Musisz wiedzieć d...   17.10.2013, 14:13:19
- - Ghost_78   Witam Panie i Panów . Wtrace swoje 3 grosze ponie...   17.10.2013, 17:33:39
- - nospor   Raport masz na mysli poprostu zapytanie do bazy i ...   17.10.2013, 18:02:55
- - Ghost_78   Bardzo dobrze zrozumiales . Problem jest z tym, z...   18.10.2013, 07:22:24
- - nospor   set timezone dziala tylko na kolumnach TIMESTAMP. ...   18.10.2013, 07:35:31
- - Ghost_78   Dzieki serdeczne nospor. Wlasnie doczytalem o tym ...   18.10.2013, 07:50:16
- - BartekN   Polecam obejrzeć z tego rocznej Confitury http://w...   18.10.2013, 18:46:35
|- - !*!   Cytat(BartekN @ 18.10.2013, 19:46:35 ...   18.10.2013, 19:19:49
- - Crozin   1. Strefy czasowe i DST są ogromnym... pierdolniki...   18.10.2013, 19:18:39
- - nospor   CytatTeraz się zastanawiam czy biblioteka odpowied...   18.10.2013, 19:59:54
- - !*!   @nospor - i jak, po dzisiejszej zmianie czasu, coś...   27.10.2013, 09:37:57
- - nospor   Nie, wszystko działa Żeby była jasność napiszę j...   27.10.2013, 12:27:59


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 05:30