Autor Zpráva
Giga
Profil
Prosím pěkně,

jak je to s letním časem v PHP?
Nastavil jsem date_default_timezone_set a ukázalo mi to (asi správně) aktuální letní čas.
Já bych radši dostal prosté UTC +1.
Rěším to tak, že k time() přičtu 3600.

Má PHP nějaké sofistikované řešení na letní/neletní čas?

Děkuji.
Kajman
Profil
www.php.net/manual/en/class.datetime.php
Giga
Profil
Kajmane, děkuji ...

... ale jsem nějaký zabedněný, či co a letní čas tam ne a ne najít.
Popíšu konkrétní situaci - záznamy o počasí ukládané do databáze jsou opatřeny časem v režimu SEČ (UCT +1)
Pro zobrazení na stránce bych rád zobrazil "uživatelský" čas - tedy letní (v době platnosti LSEČ) nebo "zimní" v době platnosti SEČ.
Řešil jsem to v Pascalu příznakem DST. Teď jsem odkázaný na PHP a nevím jak na ten příznak.
Kajman
Profil
Nevím, jak do databáze ukládte čas včetně časové zóny, ale odkazovaným nástrojem ten letní čas zjistíte. Zkuste např.

$timezone_CR = new DateTimeZone("Europe/Prague");

$zima = new DateTime("2024-01-01T11:00:00+01:00");
$zima->setTimezone($timezone_CR);

echo $zima->format("c T"), "\n";
echo $zima->format("I"), "\n";
echo $zima->getOffset(), "\n";


$leto = new DateTime("2024-07-01T11:00:00+02:00");
$leto->setTimezone($timezone_CR);
echo $leto->format("c T"), "\n";
echo $leto->format("I"), "\n";
echo $leto->getOffset(), "\n";
Giga
Profil
Díky :)

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