Posun času a zájezd na 6,958333 nocí

Posun času a zájezd na 6,958333 nocí
Je tu zase změna zimního času na letní. Pro mnohé z nás je to nepříjemná změna v rytmu dne, ale na překvapení tento časový posun dokáže vykolejit i zkušeného programátora. Z jedné takové podzimní změny času máme s odstupem už veselou příhodu.

Pro cestovní kancelář jsme celou letní sezónu úspěšně provozovali jejich nový web, na kterém je u každého zájezdu uveden den odjezdu a den příjezdu. Na webu je zobrazena i délka zájezdu a podle ní jsou zájezdy také rozděleny (4, 7, 10 a 14 nocí).  Všechno krásně celou letní sezónu fungovalo, až do října nám klient nahlásil chybu - na webu měly některé zájezdy zobrazenou délku 3,958333 noci resp. 6,958333 noci. Namísto správných 4 nocí, resp. 7 nocí.

Samozřejmě jsme to jednoduchým zaokrouhlením opravili hned. Ale nedalo nám to a chtěli jsme zjistit, proč nám to najednou počítá špatně. Dlouho jsme hledali, kde jsme udělali chybu při rozdílu dvou datumů, které se v PHP počítají jako sekundy od roku 1970, že nám to náhle na pár zájezdech zobrazuje divné počty nocí.

Jak už asi tušíte, problém byl v tom, že mezi začátkem a koncem zájezdu byl den, kdy se posouval čas, a ten "měl" 25 hodin, což je o 3600 sekund více, a tím pádem rozdíl mezi daty dělený 24*60*60 vyšel "divně" - jako uvedené počty nocí.

Správné řešení je použít při výpočtu funkci strtotime() ve formátu strtotime("+1 day") namísto počítání pomocí 24*60*60 sekund. 

Takto napsané to vypadá jednoduše, ale v dané chvíli to byl tvrdý oříšek. Někdy dávno, když jsme posuny času na počítačích nastavovali ještě manuálně sami, by nás to možná napadlo dříve.

Máte podobnou příhodu s posunem času a programováním? Sem s ní...

Napište nám, rádi vám poradíme.

Dejte nám vědět, o co máte zájem

Naše agentura se řídí pravidly a principy Férového tendru.

Přečtěte si také

Vše pro růst vašeho podnikání na jednom místě

V ui42 spojujeme strategii, kreativitu, technologie, marketing a AI do jednoho celku.
Budujeme značky a vizuální identity, tvoříme weby a e-shopy, navrhujeme UX a CRO, tvoříme kreativní obsah a přinášíme měřitelné výsledky přes performance marketing.
Naše řešení rozšiřuje FLUIDUM – AI inteligence ui42, která přeměňuje firemní data na konkurenční výhodu.

Díky tomu získáte partnera, který dokáže pokrýt celý digitální ekosystém vašeho byznysu – od prvního kontaktu se značkou až po konverzi. 

ONE-STOP SHOP pro růst vašeho byznysu - Web development, Performance marketing, Brand building, UX/CX, AI

 

Děkujeme za odběr!
Ups! Tento email už je registrován
Email už máme v databázi, zkontrolujte si schránku nebo použijte jiný mail
Ups! Tento email je nesprávný
Email nemá správný formát
Ups! Neznámá chyba
Prosím, zkuste to později

Přihlaste se na bezplatný B2B webinář

Setkáme se online již 22. 9. 2026 ve 14:00 

Zjistit více