Oznámení
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.