Autor Zpráva
Mart1337
Profil *
Dobrý den,
Jelikož se mi dnes rozbilo hodně kódu kvůli změně času (kód ukazuje čas špatně o 1 hodinu) zajímalo by mě, zda máte někdo nějaké tipy a triky jak pracovat v PHP a v SQL s časem, aby zohledňoval časová pásma a časové posuny.

Například mám kód, který ukládá časovou známku do databáze a Cron, který kód spouští. Pokud script najde v databázi řádek s časovou známkou starší než 12 hodin, aktualizuje časovou známku. Ale kvůli změně času mi kód samozřejmě vybral řádky, kde neuběhlo 12 hodin, ale pouze 11 hodin.

Další problémy jsou při vypisování data kdy má něco nastat. Před změnou času mi právně vypisovalo, že třeba další průběh nastane v 10:00 ale nyní je to opět posunuté o 1 hodinu.

Pracuji s daty v PHP a SQL špatně, nebo jak mohu zaručit konzistenci bez zbytečně složitého programování?

Další část webu nabízí uživateli zvolit jejich lokální čas pomocí datetime input typu v HTML a JavaScript odesílá informace o časové zóně. Vsadím se, že ten kód je taky o hodinu posunutý.

Děkuji všem expertům na čas za odpovědi.


Samozřejmě se takový kód nedá testovat, leda že bych čekal půl roku na to, zda se něco rozbije. Web je hostován na serverech endora.cz
Kajman
Profil
Dobré databáze umí pracovat i s časovými zónamy. V mysql si ukládejte čas v GTM a do chtěné časové zóny převádějte v php.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0