Jak na datum a čas nejenom v ASP – posuny
V předchozím článku jsem podrobně popisoval používání základních operací pro práci s datem a časem. Dnes se zaměříme na to, jak s datem a časem počítat. A to vše opět na straně serveru, ale i na straně klienta.
DateDiff
Pomocí funkce DateDiff snadno a jednoduše zjistíme rozdíl mezi dvěmi daty. Funkce nemá problémy při práci s přestupnými roky ani po roce 2000 včetně přestupného roku 2000.
|
Funkce Datediff má tři povinné parametry, parametr datum1 a datum2 jsou data, mezi nimiž chceme zjistit rozdíl. Parametr interval udává jednotky času, ve kterých chceme rozdíl mezi datumy vrátit.
|
V příkladu číslo 1 jsou uvedeny možnosti použití funkce DateDiff pro jednotlivé možnosti nastavení parametru interval.
Příklad 1:
|
Jak jste si jistě všichni všimli, v příkladu jsem použil i datum z budoucnosti. Funkce DateDiff pracuje tak, že pokud je datum1 větší než datum2, tak vrací záporné číslo. Této vlastnosti lze využít při porovnávání datumů.
V úvodu popisu funkce DateDiff jsem se zmínil, že funkce NEMÁ problémy s přestupnými roky. Pro ty co tomuto tvrzení nevěří tu mám příklad 2, který poskytne důkaz. V příkladu si ukážeme zjištění počtu dnů mezi datem 27.2. a 1.3. pro různé roky.
Nejprve ale malá ukázka z kalendáře. Výchozí den si označíme písmenem D a pokud rok dané datum obsahuje napíšeme do příslušné kolonky 1. Nakonec sečteme jednotlivé řádky tabulky a dostaneme počet dní mezi 27.2. a 1.3. pro jednotlivé roky
|
A teď konečně to, co jsme si udělali ručně, provedeme pomocí funkce Datediff. Příklad 2:
|
Pokud porovnáte počty dní mezi daty pro jednotlivé roky ve výsledku příkladu 2 s počty dnů uvedenými v tabulce zjistíte, že jsou shodné a to je důkaz, že funkce DateDiff nemá problémy s přestupnými roky
DateAdd
Funkce DateAdd přičítá k zadanému datumu zadaný interval (rok, mesic atd.). Funkce správně počítá s přestupnými roky:
|
Fukce DateAdd má tři povinné parametry a to sice datum, jednotky ve kterých bude počítáno a počet jednotek.
|
Příklad 3:
|
Funkce DateAdd umí zpracovávat i záporná čísla a díky tomu lze od zadaného data odečítat.
DatePart
Funkce DatePart vrací část předaného data v jednotce, kterou si vybereme. Většinu věcí, které umožňuje funkce DatePart, lze provést pomocí funkcí Year, Moth, Day, Hour, Minute a Second, jenž byly popsány v minulém dílu článku. Funkce DatePart má, ale mnohem více možností a její používání je pružnější.
|
Funkce DatePart má dva povinné parametry a to sice datum a idetifikaci části data, které chceme obdržet
|
Pokud je zadán jen čas do datové položky a chcete získat například informace o roku,měsíci dni či čtvrtletí připravte se na to, že obdržíte 30.12.1889. Pokud je zadáno jenom datum a požadujete informace o čase předpokládá se že čas je 0:0:0
Příklad 4:
|
Dodatek k funkcím DateDiff,DatePart a DateAdd
V kapitolách o funkcích DateDiff,DatePart a DateAdd jsem se zmínil pouze o povinných parametrech těchto funkcí. Tyto funkce, ale mají i dva nepovinné parametry. Kompletní způsob volání těchto funkcí pak vypadá takto:
|
Prvnidenvtydnu urcuje, kterým dnem začíná týden, pokud je vynecháno použije se systémové nastavení.
Prvnitydenvroce určuje, který týden v roce je první. Pokud je vynecháno, předpokládá se, že první týden je ten, který obsahuje 1. leden.
To je pro dnešek vše. V dalším díle miniseriálu o datu a času nás čeká nejen několik konverzních funkční, ale také stopky, které nám umožní měřit až 20 různých času s přesností větší, než je jedna sekunda.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Responzivní design: Proč by ho neměl ignorovat žádný vývojář?
27. listopadu 2023 -
Thunderbolt 4 vs. OCuLink: Přišel čas na upgrade?
27. května 2024 -
Jak se chránit před podvody na internetu – část 1
8. října 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024