tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Timezone v MySQL

před 10 lety

David Grudl
Nette Core | 6806

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?

před 10 lety

phx
Člen | 652

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.

před 10 lety

blacksun
Člen | 181

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.

před 9 lety

crempa
Člen | 199

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)

před 9 lety

BigCharlie
Člen | 267

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…

před 9 lety

David Grudl
Nette Core | 6806

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.

před 9 lety

David Grudl
Nette Core | 6806

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?

před 9 lety

BigCharlie
Člen | 267

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.