Autor Zpráva
Andrej.B
Profil
Zdravim,
mam problem pri vkladani casu do DB... Mam nastavene pred vlozenim:
date_default_timezone_set("Europe/Bratislava"); 
pokial si dam skusku, aky je cas:
date_default_timezone_set("Europe/Bratislava");
echo Date("H:i - s\s")
ukaze cas aktualny aky mam aj na pocitaci... Pokial pridavam do DB cez $datum = UNIX_TIMESTAMP(); tak mi da o hodinu menej, ako to korektne nastavit aby som nemusel riesit prechod casu?
Dakujem
Kajman
Profil
Timestamp je stejný napříč všemi časovými pásmy, pokud není server špatně nastavem.

Myslím, že chyba bude až v převodu uloženého timestampu do stringu. Tam je potřeba definovat, které časové pásmo se má použít. Jak tedy převádíte ten timestamp do stringu na vypsání?
Andrej.B
Profil
echo gmdate("H:i:s", $row[datum_sklad_polozka])
kde polozka datum_sklad_polozka v db je ten UNIX_TIMESTAMP();
Kajman
Profil
Ale gmdate nevrací lokální čas, ale univerzální.

Použijte raději něco jako
$lokalni_datum = new DateTime(null, new DateTimeZone('Europe/Bratislava'));
//cyklus řádků
  $lokalni_datum->setTimestamp($row['datum_sklad_polozka']);
  echo $lokalni_datum->format("H:i:s");

Viz secure.php.net/manual/en/book.datetime.php
Andrej.B
Profil
toto uz je magia pre mna, mysleno OOP :)
diky moc...
z manualu gmdate — Format a GMT/UTC date/time co je pre nas -1 hodina...

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