Funkce PHP
Datum a čas
- date(formát [,datum-čas]) - formátuje datum a čas
Nezadáme-li datum-čas, vrátí funkce aktuální datum a čas v zadaném formátu.
Pomocí prvního parametru určíme formát datumu a času, resp. získáme určité údaje o datumu a času, např. den, měsíc, rok, hodiny, minuty, sekundy, ale také počet dní v měsíci, zda je rok přestupný, zda je letní čas, číslo či zkratku dne v týdnu, číslo týdne, a další. Vše najdete v php manuálu.
den=date("j"); //den v měsíci mesic=date("n"); //číslo měsíce rok=date("Y"); //rok hodiny=date("G"); //hodiny minuty=date("i"); //minuty sekundy=date("s"); //sekundy denTydne=date("w"); //číslo dne v týdnu 0-neděle, 1-pondělí …6-sobota tyden=date("W"); //číslo týdne pocetDniMesice=date("t"); //počet dní v měsíci
echo date("j.n.Y"); //23.11.2024 echo date("G:i"); //16:08 echo date("w"); //6 - sobota
echo date("w",strtotime("31.12.2000"); //0 - neděle echo date("w",mktime(0,0,0,12,31,2000); //0 - neděle
- strtotime(zápis-datumu)
Funkce převede textový zápis datumu na číselnou hodnotu datumu, kterou lze zpracovat datumovými funkcemi. Datum musí být od roku 1900.
- mktime(hodiny, minuty, sekundy, měsíc, den, rok)
Funkce vytvoří datum ze zadaných čísel měsíce, dne a roku, případně i času. Údaje času jsou bohužel na začátku, nelze je tedy vynechat, musí se zadat nuly.
- date_create_from_format(formát, datum)
Funkce vytvoří datum z textového řetězce, který představuje datum v daném formátu.
- getdate([datum-čas])
Funkce vrací asociativní pole hodnot datumu a času. Není-li parametr datum-čas zadán, je brán aktuální datum a čas.
Indexy pole jsou year, mon, mday, wday, hours, minutes, seconds a další.
$dat=getdate(); echo "Dnes je {$dat["mday"]}. {$dat["mon"]}. {$dat["year"]}; echo "Aktuální čas: {$dat["hours"]}:{$dat["minutes"]}:{$dat["seconds"]}";
- checkdate(měsíc, den, rok)
Funkce ověří, zda zadané datum je platné.
$mesic=2; $den=29; $rok=2016; if(checkdate($mesic,$den,$rok)){echo "Datum $den. $mesic. $rok je validní";} else {echo "Datum $den. $mesic. $rok není validní";}
Objekt DateTime
- new DateTime()
Vytvoří objekt datum-čas.
$datum = new DateTime(); echo "Dnes je {$datum->format('j.n.Y')}";
- createFromFormat(formát, zápis datumu)
Vytvoří objekt datum-čas ze zadaného textového řetězce obsahujícího datum, případně čas v daném formátu.
$format="j. n. Y"; $datumc="26. 8. 2017"; // formát s mezerami funguje i pro $datumc="26.8.2017"; $datumd = DateTime::createFromFormat($format,$datumc); echo "Datum $datumc převedeno na {$datumd->format('Y-m-d')}";
- format(formát)
Formátuje objekt datum-čas. Pomocí různých formátů lze získat jednotlivé hodnoty datumu a času.
$datum = new DateTime(); $rok=$datum->format('Y'); $mesic=$datum->format('n'); $den=$datum->format('j');
- setDate(rok, měsíc, den)
Nastavení datumu dle zadaných hodnot.
$datum = new DateTime(); $rok=$datum->format('Y'); $mesic=$datum->format('n'); $den=$datum->format('j'); $datum->setDate($rok,$mesic,1); echo "Začátek měsíce {$datum->format('l j.n.Y')}";
- modify(posun datumu)
Nastavení datumu dle zadaného posunu. Např.
$datum = new DateTime(); echo "Dnes je {$datum->format('j.n.Y')}"; //$datum->modify('+1 week'); echo "Za týden bude {$datum->modify('+1 week')->format('j.n.Y')}";