Autor | Zpráva | ||
---|---|---|---|
datetime Profil * |
#1 · Zasláno: 28. 4. 2012, 15:39:01
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 * |
#3 · Zasláno: 28. 4. 2012, 19:08:03
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 * |
#5 · Zasláno: 28. 4. 2012, 20:24:26
Dík, updatuji SET datum=DATETIME('NOW', 'localtime') a už to vypadá OK
|
||
Časová prodleva: 12 let
|
0