Prikaz date s posuvem casu a posun letni/zimni cas
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Úterý Říjen 9 16:15:06 CEST 2018
On Tue, 9 Oct 2018, Petr Simek wrote:
> Zrejme to nepripocitava jako dny ale spocita velikost pridane hodnoty
> ve vterinach a tu pak pripocte k casu ve vterinach a vysledek pak
> zkonvertuje podle casove zony ktere v te dobe bude platit.
Ve skutečnosti to dělá složitěji. Rozloží výchozí čas na komponenty
(struct tm), příslušnou komponentu (v tomto případě tm_day) změní o zadaný
počet a pak to vyhodnotí voláním mktime().
Problém je, že ponechá původní hodnotu pro nastavení letního času
(tm_isdst), a tudíž se to mktime() pokusí po překročení hranice
kompenzovat, což způsobí pozorovaný posun.
> Nemate napad jak to objejit aby nepohnul s tou hodinou ?
Počítat to formálně v časové zóně, kde není letní čas?
Rozdělit od sebe výchozí datum a čas, posunout jen datum a vrátit tam
původní čas?
--
Pavel Kankovsky aka Peak "Que sçay-je?"
Další informace o konferenci Linux