tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

$this->query(„SET time_zone=‚“ . date('P‘) . „'“);

před 8 lety

mcmatak
Člen | 492

Na serveru se mi nedaří získat správný čas, například datum 1.11.2010 uložený v dtb mi vrací o hodinu více než opravdu je v databázi uloženo.
Dnešní datum mi vrací v pořádku tak jak je uloženo v dtb.

Nevím kudy do toho, problém asi řeší zakomentování toho řádku v dibi, ale mohl by mě někdo uvést do problému o co tady jde?

díky

před 8 lety

Milo
Nette Core | 1119

Jak s MySQL nevím, ale bude to zřejmě podobné jako u PostgreSQL. Všechny časové údaje (WITH TIMEZONE) se ukládají v UTC. Když si nastavíš SET TIME ZONE TO ... tak se všechna data pro klienta převádějí do nastavené časové zóny a ty se o nic nestaráš.

Tvůj problém bych viděl v přechodu na letní/zimní čas. Zkusil bych si pohrát s date_default_timezone_set() nebo (pokud to MySQL umí) používat datové typy necitlivé na timezone.

Editoval Milo (20. 4. 2011 7:47)

před 8 lety

mcmatak
Člen | 492

no nevím, používám datetime v mysql takže, moc na výběr není, samozřejmě to můžu ukládat jako unix_timestamp, ale datetime je prostě standard na mysql

jinak app jede na nette a to jestli se nepletu tak na straně php má nastaveno usprávně časovou zónu, teda alespoň doufám je tam Europe/Prague