Odkazy: dibi | API reference

Forum: [česky] [english]

dibi fórum

tiny ‘n’ smart
database layer

Nejste přihlášen(a)

#1 před 2 lety

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5548

Timezone v MySQL

Pokud používáte funkčnost závislou na čase MySQL serveru (např. NOW(), CURRENT_TIMESTAMP), může vzniknout pěkný zmatek, když je pracuje v jiné časové zóně než PHP server.

Tak si říkám, co při iniciaci spojení zavolat:

query("SET time_zone='" . date('P') . "'");

Co myslíte?

 

#2 před 2 lety

phx
Moderator
Registrovaný: 17. 4. 2008
Příspěvky: 878

Re: Timezone v MySQL

Klidne, ale urcite by to chtelo moznost deaktivace.

Uz jsem se napr setkal s tim, ze jsem musel korigovat pocet hodin pri posunu casu. Tenkrat jsem uvazoval zda by bebylo vhodnejsi mit data nebo databazi v UTC. Ale ted si nejsem jist zda UTC taky nema jinaci letni a zimni cas.

 

#3 před 2 lety

blacksun
Člen
Registrovaný: 26. 9. 2008
Příspěvky: 164

Re: Timezone v MySQL

UTC nemá letní a zimní čas, pokud vím, právě proto jej používám pro data, která potřebuji sbírat kontinuálně nezávisle na časových posunech.

 

#4 před rokem

crempa
dibi guru
Registrovaný: 21. 8. 2008
Příspěvky: 207

Re: Timezone v MySQL

Tak takhle vychytavka me ted vzala hodinu hledanim co se to sakra pri prechodu na letni cas stalo s vystupem v aplikaci… :)
Presne jak rika phx a blacksun tak UTC neresi tuhle nasi uzasnou casovou vychytavku a co jsem koukal na reseni do komentaru v mysql manualu tak nejsnadnejsi je prave nastavit timezone na 00:00

Znovunastaveni napr. v bootstrapu (u Nette aplikaci) uz na vystup nemelo vliv..

Slo by to prosim vypinat i nejak jinak nez zakomentovanim… :)

Diky!

Editoval crempa (1. 4. 2010 20:57)

 

#5 před rokem

BigCharlie
Člen
Registrovaný: 13. 11. 2008
Příspěvky: 192

Re: Timezone v MySQL

Přidám se k poslednímu dotazu – chtělo by to umožnit přes konfiguraci vypnutí (defaultně zapnuto) této funkce.

Narazil jsem teď na problém při spolupráci s prehistorickou MySQL 4 (ano, i to ještě někde běží) – nechce se mi opouštět pohodlí dibi a přitom MySQL 4 nezná proměnnou time_zone. A ano, chtěl bych přemigrovat, ale to bude chvíli trvat :-)

Jsem zvědav, na co ještě narazím…

 

#6 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5548

Re: Timezone v MySQL

BigCharlie napsal(a):

Přidám se k poslednímu dotazu – chtělo by to umožnit přes konfiguraci vypnutí (defaultně zapnuto) této funkce.

Narazil jsem teď na problém při spolupráci s prehistorickou MySQL 4 (ano, i to ještě někde běží) – nechce se mi opouštět pohodlí dibi a přitom MySQL 4 nezná proměnnou time_zone. A ano, chtěl bych přemigrovat, ale to bude chvíli trvat :-)

Jsem zvědav, na co ještě narazím…

Rozumím, ale nebylo by lepší udělat DibiMySQL4Driver, zainkludovat ho společně s dibi a pak v konfiguraci dát driver=mysql4? Nebo by se mohl dát do driveru test na verzi MySQL.

 

#7 před rokem

David Grudl
Administrator
Registrovaný: 8. 2. 2005
Příspěvky: 5548

Re: Timezone v MySQL

crempa napsal(a):

Tak takhle vychytavka me ted vzala hodinu hledanim co se to sakra pri prechodu na letni cas stalo s vystupem v aplikaci… :)
Presne jak rika phx a blacksun tak UTC neresi tuhle nasi uzasnou casovou vychytavku a co jsem koukal na reseni do komentaru v mysql manualu tak nejsnadnejsi je prave nastavit timezone na 00:00

Můžeš mi to prosím ještě podrobněji vysvětlit? Resp. bylo by řešením nastavovat time_zone na 00:00?

 

#8 před rokem

BigCharlie
Člen
Registrovaný: 13. 11. 2008
Příspěvky: 192

Re: Timezone v MySQL

Rozumím, ale nebylo by lepší udělat DibiMySQL4Driver, zainkludovat ho společně s dibi a pak v konfiguraci dát driver=mysql4? Nebo by se mohl dát do driveru test na verzi MySQL.

nejsem si jistý, Davide, zda by to za to z hlediska budoucnosti stálo. Při testu PHP 5.3 jsem narazil na to, že knihovna s ním dodávaná MySQL 4.0.xx nepodporuje (pokud si to dobře pamatuji, vyžadovala 4.1+) – nezkoumal jsem alternativy. A něco mi říká, že jsem jeden z posledních v Evropě (v lepším případě), kdo s tím bojuje.

 

Zápatí