PHP datum a čas
PHP datum a čas - zápis a formátování.
Jak vypsat datum a čas
Hlavní metoda PHP pro práci s datem a časem je Time(), která vrací počet sekund uplynulých od 1.1.1970.
<?php echo(Time()); ?>
Ukázka: 1268359696
Tento výsledek je pro návštěvníka dost nečitelný, lze jej ale využít například k vytváření jedinečných názvů souborů například v knize návštěv atd., každá stránka bude mít svůj originální název 1058303790.txt. Je jen málo pravděpodobné, že by vznikly dva soubory ve stejné sekundě.
Transformace data a času
Obvyklý tvar data a času lze získat metodou StrFTime(parametry, Time()):
<?php
$datum = StrFTime("%d/%m/%Y %H:%M:%S", Time());
echo($datum);
?>
12/Fri Mar 12 03:08:16 2010/2010 03:08:16
Pomocí této PHP metody si můžete nastavit formát data i času. / a : určují rozdělovače dnů, měsíců, hodin... (můžete je oddělit čímkoli). Další parametry naleznete v tabulce:
| Parametr | Popis (možná hodnota) |
|---|---|
| Datum | |
| %d | číslo dne (1-31) |
| %m | číslo měsíce (1-12) |
| %Y | číslo roku (2003) |
| %a | zkratka jména dne |
| %A | jméno dne |
| %b | zkratka jména měsíce |
| %B | jméno měsíce |
| Čas | |
| %c | datum a čas |
| %H | Hodina (00-23) |
| %I | Hodina (01-12) |
| %j | číslo dne v roce (0-366) |
| %m | číslo měsíce (01-12) |
| %M | číslo minuty |
| %p | dopoledne/odpoledne |
| %S | Sekunda |
| %U | číslo týdne v roce (01-51) |
| %w | číslo dne v týdnu |
| %W | číslo týdne v roce (01-51) |
| %x | Datum podle mezinárodních zvyklostí |
| %X | čas podle mezinárodních zvyklostí |
| %y | Rok jako dvojčíslí (01) |
| %Y | Rok jako čtyřčíslí (2001) |
| %z, %Z | časová zóna nebo její zkratka |
Abychom z anglický názvů dostali české pojmenování (pozor i anglické číslování dní je jiné), použijeme metodu SetLocale(LC_ALL, "Czech"):
<?php
SetLocale(LC_ALL, "Czech");
$datum = StrFTime("%d/%c/%Y %H:%M:%S %z %B", Time());
echo($datum);
?>
Druhá metoda, která taky umí modifikivat čas a datum je
| Parametr | Popis (možná hodnota) |
|---|---|
| Y | Rok - čtyřčíslí |
| y | Rok jako dvojčíslí |
| M | zkratka jména měsíce |
| m | číslo měsíce (01-12) |
| F | jméno měsíce |
| D | zkratka dne v týdnu |
| l | jméno dne v týdnu |
| w | číslo dne v týdnu (1-7) |
| d | číslo dne v měsíci (01-31) |
| j | číslo dne v měsíci (1-31) |
| z | číslo dne v roce (001-365) |
| H | hodina (00-23) |
| h | hodina (01-12) |
| i | minuta (00-59) |
| s | sekunda (00-59) |
| U | počet sekund od 1.1.1970 |
| S | anglická koncovka pořadového čísla dne v měsíci |
| A | dopoledne/odpoledne (AM/PM) |
| a | dopoledne/odpoledne (am/pm) |
Poslední ukázka:
<?php
$datum = Date("j/m/Y H:i:s", Time());
echo($datum);
?>
Výsledek: 12/03/2010 03:08:16
Úpravy data a času
Obvykle vygenerujete datum a čas typu: 01/01/2008 12:07:05. Nuly v čase nám nevadí, ale nuly v datu by bylo lépe odstranit:
$date = strftime("%d.%c.%Y %H:%M:%S", time());
$date = str_replace(". 0", ". ", $date);
$num = strlen($date);
if(substr($date, 0, 1) == "0") $date = substr($date, 1, $num);
Pomocí regulárních výrazů, hledáme úseky, ve kterých po tečce následuje 0 a nahrazujeme je pouze tečkou ($date = str_replace(". 0", ". ", $date);). Posléze kontrolujeme zda není první znak data 0, pokud tomu tak je, ořízneme řetězec.
Převod řetězce na datum
Někdy je potřeba rychle naformátovat nějaký řetězec do jiné podoby. Můžeme mí datum ve formátu Wed, 12 Dec 2007 08:00:00 GMT. Přeformátování provedeme následujícím skriptem:
$date = "Wed, 12 Dec 2007 08:00:00 GMT";
$date = strtotime($date);
$date = StrFTime("%d.%c.%Y %H:%M:%S", $date);
//12.12.2007 08:00:00
Další: Matematické funkce
Zajímavost: Datum změn dokumentu
Zajímavost: Datum Velikonoc pomocí PHP
* výhodný 2 GB webhosting, PHP, MySQL, e-maily, subdomény atd. za 1200 Kč ročně - Více zde...
Základy
Rozšíření
Příklady
- PHP scripty
- Kniha návštěv
- Ochrana e-mailu
- Malé šablony
- Počítadlo návštěv
- Odeslání e-mailu
- Generování formuláře
- IP adresa
- RSS čtečka
- Heslo
- Zaheslování jedné stránky
- Ověření e-mailu
- Odstranění diakritiky
- Aktuální datum a čas
- Vypsání souboru
- Počet souborů v adresáři
- Vypsat název dne
- Vypsat název měsíce
Ostatní
K webhosting Nokia 1208 zdarma
Výhodná nabídka pro čtenáře Tvorba-webu.cz.
Pokud si objednáte Webhosting C4, dostanete k němu mobilní telefon Nokia 1208 zdarma.
Do objednávky je třeba vložit slevový kupón "mobil", jak postupovat při objednávce si můžete přečíst na webu WebhostingDoména.cz