| PHP: Funkce pro práci s datem a časem |
|
Vyčerpávající přehled funkcí pro práci s datumem a časem s příklady.
Články o tom, jak si nechat v PHP zobrazit dnešní datum s příslušným svátkem, se to na českém internetu jenom hemží, ale možnosti funkcí jsou daleko větší! V PHP máme k dispozici 13 funkcí, které přímo pracují s datem nebo časem. Většinu funkcí stejně nikdy nevyužijete, ale kdyby... Nyní bych se pokusil srozumitelně probrat nejdůležitější funkce a ke každé uvést nějaký ten příklad, který by se mohl v praxi hodit.OK? Jdeme na to! fce Time(); Udává počet sekund od 1. ledna 1970. Tato zdánlivě nesmyslná vlastnost je ale velkou výhodou. Představte si, že potřebujete vědět zítřejší datum. Kdyby jste měli k číslu dne přičítat jedničku, narazili byste na problém vždy na konci měsíce, protože každý měsíc má, jak jistě víte, jiný počet dní. S touto funkcí však můžete věc rychle a snad vyřešit. Zkrátka k výsledku funkce přičtete 86400, což se počet sekund za jeden den a máte vystaráno! fce Date(, int <čas> ); Slouží k formátování časových údajů. Datum a čas se formátují podle řetězce, ve kterém je zadáno, jak se má datum a čas zobrazit. V následující tabulce můžete vidět všechny znaky použitelné v onom magickém formátovacím řetězci.
A ještě něco, pokud nepoužijete parametr čas, funkce si sama doplní jeho hodnotu z funkce Time(). Je to docela výhoda, protože pokud chcete vypsat aktuální datum nebo čas, což budete dělat asi nejčastěji, nemusíte parametr vůbec zadávat. Nyní si uvedeme jeden příklad na použití obou funkcí.
<?
Echo "Dnes je: ".Date("j.m. Y")." Pro lepší přehled o časových údajů jsem za vás vynásobil pár sekund:
fce mktime (int , int , int , int , int , int ); Tato funkce naopak vrací počet sekund od 1.1. 1970 dle zadaných parametrů. Zajímavé je, že tato funkce automaticky přepočítává chyby v parametrech. Pokud např. uvedete 13. měsíc, tak ho funkce určí jako leden dalšího roku. Nyní si uvedeme jeden příklad, který bude obsahovat všechny zatím zveřejněné funkce. Tento jednoduchý skriptík se vám určitě bude hodit, pokud máte své vlastní stránky s informacemi o sobě. Abyste nemuseli každý rok měnit svůj aktuální věk, tento skript ho vypočítá i přesností na sekundu, ale musíte vědět přesně na sekundu, kdy jste se narodili. Tak tady je:
<? Tato funkce vrací asociativní pole, ve kterém jsou uloženy jednotlivé položky času. Je to jednoduchý způsob, jak "rozebrat" časový údaj na díly, se kterými potřebujeme pracovat. Indexy asociativního pole a jejich výsledky uvádí následující tabulka:
<?
if ($cas["hours"]==12) Echo "Dobré poledne!"; fce checkdate (int <mesic>, int <den>, int <rok>);
fce vrací hodnotu true, pokud parametry splnily všechny požadavky. Tj. rok
byl zadán od 1 do 32767, měsic od 1 do 12 a den podle měsíce. Je to užitečné
hlavně pokud chceme, aby uživatel nemohl zadat třeba 31.2. 2002 . Tuto fci by
mělo podporovat PHP 4.0.0 nebo vyšší.
Tak to by bylo z mé strany asi tak vše. Doufám, že vám byl tento článek nějak
prospěšný, a že získané vědomosti nějak upotřebíte. Další informace: http://www.php.cz/manual/cs/ref.datetime.php |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||