date

(PHP 3, PHP 4 )

date -- Formátuje místní datum/čas

Popis

string date ( string format [, int timestamp])

Vrací řetězec formátovaný podle daného formátovacího řetězce s použitím daného celočíselného časového razítka timestamp nebo aktuálního místního času (není-li časové razítko zadáno).

Poznámka: Platný rozsah pro časové razítko je typicky od pátku 13.12.1901 20:45:54 GMT do úterý 19.1.2038 03:14:07 GMT. (Tyto hodnoty odpovídají minimální a maximální hodnotě 32-bitového celého čísla se znaménkem). Na Windows je tento rozsah omezen na období 1.1.1970 až 19.1.2038.

K vygenerování časového razítka z řetězce reprezentujícího datum lze použít funkci strtotime(). Navíc některé databáze mají funkce, které konvertují jejich datové formáty na časová razítka (např. funce UNIX_TIMESTAMP v MySQL).

Ve formátovacím řetězci lze používat tyto znaky:

Nerozpoznané znaky ve formátovacím řetězci se vytiskou tak, jak jsou. Při použití gmdate() má formát "Z" vždy hodnotu 0.

Příklad 1. Příklad - date()

echo date ("l dS of F Y h:i:s A");
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));

Rozpoznávané znaky ve formátovacím řetězci můžete ochránit před zpracováním tak, že jim předřadíte obrácené lomítko. Pokud už má znak s obráceným lomítkem speciální význam, je třeba před něj přidat ještě jedno obrácené lomítko.

Příklad 2. Ochrana znaků ve funkci date()

echo date("l \\t\h\e jS"); // vytiskne něco jako 'Saturday the 8th'

Je možné použít společně date() a mktime() k nalezení dat v budoucnosti či v minulosti.

Příklad 3. Příklad - date() a mktime()

$tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));
$nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);

Poznámka: Toto může být spolehlivější než prosté přičítání nebo odčítání sekund ve dni nebo měsíci (kvůli letnímu času).

Několik příkladů formátování pomocí date(). Nezapomeňte, že byste měli předřadit obrácené lomítko všem ostatním znakům, protože ty, které mají nyní speciální význam, budou způsobovat neočekávané výsledky, a ostatním může být přiřazen význam v budoucích verzích PHP. Ve všech takových případech také musíte používat apostrofy (k ohraničení řetězce), abyste zabránili znakům jako \n v odřádkování.

Příklad 4. Formátování pomocí date()

/* Dnes je 10. března 2001, 5:16:18 odpoledne */
$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // It is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:17 m is month
$today = date("H:i:s");                         // 17:16:17

Pro formátování dat v jiných jazycích je třeba použít funkce setlocale() a strftime().

Viz také getlastmod(), gmdate(), mktime(), strftime() a time().