Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.
Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.
egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.
Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.
Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.
Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.
Byla vydána nová verze 4.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání.
Úkolníček Taskwarrior (Wikipedie) pro správu úkolů z příkazového řádku byl vydán ve verzi 3.0.0.
Společnost Canva stojící za stejnojmenným webovým grafickým editorem koupila společnost Serif stojící za grafickým editorem Affinity.
Byla vydána betaverze Fedora Linuxu 40, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 16. dubna. Z novinek (ChangeSet) lze vypíchnout podporu frameworku pro strojové učení PyTorch. Fedora KDE Plasma Desktop přichází s Plasmou 6 a běží nad Waylandem. Fedora Workstation přichází s GNOME 46.
Řešení dotazu:
timestamp
se vždy ukládá v UTC a převádí se do aktuální časové zóny. Začal bych tedy tím, že se podíváte pomocí mysql
klienta do databáze, zda tam ty časy máte správně a zda se správně převádí, když nastavíte různé časové zóny. Druhá věc je pak ještě zkontrolovat, jak se to chová v PHP, zda vám to náhodou nepřevádí mezi časovými zónami ještě podruhé.
13:00 TZ+2:00 == 12:00 TZ+1:00 == 11:00 UTC
, žádné přičítání nebo odčítání není potřeba. Akorát je potřeba počítat s tím, že uživatel očekává časovou zónu platnou v době zadávaného času, ne aktuální – takže je potřeba časovou zónu přepínat podle zadávaného/čteného data, ne podle aktuálního data. Tj. pokud zadávám nebo čtu datum a čas v prosinci, musím nastavit časovou zónu SEČ, bez ohledu na to, zda je zrovna aktuální SEČ nebo SELČ. Při zadávání času mezi 2:00 a 3:00 při přechodu z letního času na standardní je asi potřeba se uživatele na časové pásmo dotázat, protože to nijak nevyvěštíte.
Akorát je potřeba počítat s tím, že uživatel očekává časovou zónu platnou v době zadávaného času, ne aktuální – takže je potřeba časovou zónu přepínat podle zadávaného/čteného data, ne podle aktuálního data.Jo, o to mi právě šlo. Jestli MySQL má tohle už nějak vyřešené, pak není co řešit. Z dotazu jsem nabyl dojmu, že si to přepočítávání píše sám.
Asi každý myslíme něco jiného časovou zónou.
Očividně. Ale pokud se v souvislosti s unixovými systémy používá termín timezone (časová zóna), myslí se tím téměř vždy to, o čem mluvím já.
pořád tam zbývá ta hodina při přechodu zpět na sluneční čas, kdy datum, čas a geografická časová zóna nestačí.
Proto se také jako interní reprezentace používá ta vyjádřená pomocí time_t
, která tímto problémem netrpí. A proto funkce mktime()
v tom jednom speciálním případě přihlíží i k hodnotě položky tm_isdst
; protože ale tento speciální případ (u většiny zón - z těch, které vůbec nějaký letní čas mají) pokrývá přibližně jednu setinu procenta roku (navíc pečlivě vybranou tak, aby se toho dělo pokud možno co nejméně), nikdo to obvykle moc neřeší.
mktime()
a localtime()
resp. localtime_r()
se o to postarají, otázkou jen je, jestli je autor software použije nebo jestli se spolehne na lidovou tvořivost.
SET time_zone='Europe/Prague'
Potom to funguje dobře.
Tiskni Sdílej: