Autor Zpráva
datetime
Profil *
Zdravim, kdyz ukládám data do SQLite db pomoci SET datum=DATETIME('NOW'),
a když následně získám uložená data a zobrazím StrFTime("%d/%m/%Y %H:%M:%S",$time), čas je 2hod. posunutý.
např.: uloženo 15:30, zobrazeno 13:30
Jak toto ošetřit?
Děkuji za radu
Medvídek
Profil
datetime:
Většinou mi stačí ošetřit tímto:
date_default_timezone_set ();
Na funkci NOW() v mysql má vliv mysql> SET time_zone = timezone;

Ale do db vždy ukládám jako UTC a poté si nastavuju v aplikaci date_default_timezone_set
datetime
Profil *
ja pouzivam db SQLite
Medvídek
Profil
datetime:
Podle dokumentace SQLlite:
Note that select DATETIME('NOW') returns UTC or Coordinated Universal Time, but select datetime('now','localtime') returns the current time.
Čili bych data vždycky selectoval v UTC a převod nechal až na aplikaci.
A nebo si pak formát vytáhnout už při dotazu: sqlite> select strftime("%m-%d-%Y %H:%M:%S %s %w %W",'now','localtime');
datetime
Profil *
Dík, updatuji SET datum=DATETIME('NOW', 'localtime') a už to vypadá OK

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