Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa vremenskim zonama.

[es] :: PHP :: Problem sa vremenskim zonama.

[ Pregleda: 2733 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zgas

Član broj: 74613
Poruke: 334
*.ptt.yu.

Sajt: odbrojavanje.com


Profil

icon Problem sa vremenskim zonama.05.09.2007. u 14:11 - pre 202 meseci
Posto mi je sajt u americi zeleo sam da belezim u bazi neko univerzalno vreme koje moze da pozove PHP ili Mysql i koje ce uvek biti isto nezavisno od toga gde se server u svetu nalazi. Mislio sam da je to UTC vreme za koje postoje funkcije pozivanja i u PHP-u i u MySQL-u.

Pokusao sam da pozovem to vreme sa PHP-om ovako:
Code:

echo   date("M d Y H:i:s").' ||| '.  date("Z T P O e").'<br>';
echo gmdate("M d Y H:i:s").' ||| '.gmdate("Z T P O e").'<br>';


Medjutim dobio sam potpuno razlicite rezultate za UTC vreme na serveru u americi i na mom racunaru. Kada se ISTOVREMENO izvrse gornja dva koda na oba servera dobijaju se ovi rezultati:

U americi:
Code:

Sep 05 2007 08:22:46 ||| -18000 CDT -05:00 -05:00 America/Chicago
Sep 05 2007 13:22:46 ||| 0 GMT +00:00 +00:00 UTC


Na mom racunaru:
Code:

Sep 05 2007 22:23:13 ||| 7200 CEST +02:00 +02:00 Europe/Paris
Sep 05 2007 20:23:13 ||| 0 GMT +00:00 +00:00 UTC


Znaci nisam dobio neko univerzalno vreme.

Bitno je u pitanju PHP 5.2. i MySQL5

Pitanje je da li da u bazu belezim UTC vreme, pa da to vreme prilagodjavam korisnicima, ili da upisujem vreme Srbije, pa da to vreme prilagodjavam korisnicima?
Cini mi se da je lakse manipulisati sa UTC vremenom jer je to vreme direktno podrzano i php-om i mysql-om. Tako da se to vreme veoma lako moze prilagodjavati korisnicima? Da li sam u pravu? Problem je samo sto ja ne znam kako se dobija neko univerzalno vreme, ne znam u cemu gresim?

---------------------------------------

Takodje mi interesuje, da li neka PHP funkcija moze prepoznati iz koje vremenske zone pristupa korisnik preko browzera? Ako ne, dali postoji neki jednostavan nacin da se omoguci automatsko prepoznavanje vremenske zone korinika i da li se to praktikuje - da li je to sigurno. Ili se treba od svakog korisnika traziti da unese svoju vremensku zonu.

[Ovu poruku je menjao zgas dana 05.09.2007. u 22:26 GMT+1]
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

glavince
Ohrid/Macedonia

Član broj: 66412
Poruke: 246
62.162.91.*

Sajt: ohridnews.com


Profil

icon Re: Problem sa vremenskim zonama.06.09.2007. u 21:44 - pre 202 meseci
Php ne moze da prepozna vremensku zonu klijenta. To mozes da uradis preko javascripta (getTimezoneOffset).
MySql ima posebne procedure za rad sa vremenskim zonama.

Napravi funkciju u php timezone() preko koje ces dobijati tz iz javascripta.

Kada se konektujes na bazu treba da postavis:
mysql_query("SET time_zone = '".timezone()."'");


A query za ispis na linux bi mogao da bude:
sebect bla bla, date_format(CONVERT_TZ(vreme_iz_baze,'+2:00', '".timezone()."'),'%d.%m %H:%i') as tz_vreme_klijenta
// +2:00 je nasa vremenska zona

Na windows je:
sebect bla bla, date_format(CONVERT_TZ(vreme_iz_baze,'EU/Belgrade', '".timezone()."'),'%d.%m %H:%i') as tz_vreme_klijenta
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
*.ptt.yu.

Sajt: odbrojavanje.com


Profil

icon Re: Problem sa vremenskim zonama.07.09.2007. u 08:22 - pre 202 meseci
Ostalo je pitanje, koje vreme da upisem u bazu - UTC ili vreme Servera. Buni me to sto UTC vreme nije na hostingu u Americi i na mom racunaru, a ne znam da li gresim - UTC vreme u odredjenom trenutku bi trebalo dabude isto na svim podrucjima.
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

1r0nM4n
Nenad Vasić
Web Developer
Beograd

Član broj: 55970
Poruke: 441
*.ikomline.net.

ICQ: 303614173
Sajt: www.nenadvasic.com


+1 Profil

icon Re: Problem sa vremenskim zonama.07.09.2007. u 19:40 - pre 202 meseci
Ako hoćeš da dobiješ naše vreme pozivanjem funkcija za vreme ili datum, ubaci ovo u svoj kôd:
Code:
putenv("TZ=Europe/Belgrade");


p0z
 
Odgovor na temu

stsung
NS

Član broj: 12899
Poruke: 432
*.ADSL.neobee.net.



+2 Profil

icon Re: Problem sa vremenskim zonama.08.09.2007. u 10:32 - pre 202 meseci
Pozd.

UTC vreme je UTC vreme. To shto ti na tvom rachunaru gmdate() vraca jedno, a na rachunaru u americi neshto drugo, znachi da bilo na tvom rachunaru, bilo na rachunaru u americi, vreme i/ili chasovna zona nije dobro nameshtena. Preporuchujem ti da vremena u bazi uvek chuvash u UTC vremenu.

Svako dobro.
 
Odgovor na temu

zgas

Član broj: 74613
Poruke: 334
*.de.

Sajt: odbrojavanje.com


Profil

icon Re: Problem sa vremenskim zonama.08.09.2007. u 13:04 - pre 202 meseci
Hvala puno svima i tebi 'srsung'.
Aukcije, www.Odbrojavanje.com
Aukcija može biti osvojena jeftino - za 30 sekundi a 6 dinara!
 
Odgovor na temu

[es] :: PHP :: Problem sa vremenskim zonama.

[ Pregleda: 2733 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.