Join Up!
104884 members and counting!

 
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links 
search for in the  
previouscheckdategetdatenext
Last updated: Sun, 27 Oct 2002
view the printer friendly version or the printer friendly version with notes or change language to Finnish | German | Spanish

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:

  • a - "am" nebo "pm"

  • A - "AM" nebo "PM"

  • B - internetový čas Swatch ("zavináče")

  • d - den v měsíci, 2 číslice s úvodními nulami, "01" až "31"

  • D - den v týdnu, textově, 3 písmena, např. "Fri"

  • F - měsíc, textově, dlouhý název, např. "January"

  • g - hodina, 12-hodinový formát bez úvodních nul, "1" až "12"

  • G - hodina, 24-hodinový formát bez úvodních nul, "0" až "23"

  • h - hodina, 12-hodinový formát, "01" až "12"

  • H - hodina, 24-hodinový formát, "00" až "23"

  • i - minuty, "00" až "59"

  • I (velké i) - "1" pro letní čas, jinak "0"

  • j - den v měsíci bez úvodních nul, např. "1" až "31"

  • l (malé 'L') - den v týdnu, textově, dlouhý název, např. "Friday"

  • L - pravdivostní hodnota určující, zda je přestupný rok, "0" nebo "1"

  • m - měsíc, "01" až "12"

  • M - měsíc, textově, 3 písmena, např. "Jan"

  • n - měsíc bez úvodních nul, "1" až "12"

  • O - odchylka od greenwichského času v hodinách, např. "+0200"

  • r - datum formátované podle RFC 822, např. "Thu, 21 Dec 2000 16:01:07 +0200" (přidáno v PHP 4.0.4)

  • s - sekundy, "00" až "59"

  • S - anglická přípona řadové číslovky pro den v měsíci, 2 znaky, "st", "nd", "rd" nebo "th"

  • t - počet dní v daném měsíci, "28" až "31"

  • T - časová zóna nastavená na serveru, např. "EST" nebo "MDT"

  • U - sekundy od Unix Epoch (1.1.1970 00:00:00 GMT)

  • w - den v týdnu, číselně, "0" (neděle) až "6" (sobota)

  • W - počet týdnů v roce podle ISO-8601, týden začíná v pondělí (přidáno v PHP 4.1.0)

  • Y - rok, 4 číslice, např. "1999"

  • y - rok, 2 číslice, např. "99"

  • z - den v roce, "0" až "365"

  • Z - časový posun v sekundách ("-43200" až "43200"). Posun má pro časové zóny na západ od UTC zápornou hodnotu, na východ kladnou.

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().

User Contributed Notes
date
add a note about notes
There are no user contributed notes for this page.
previouscheckdategetdatenext
Last updated: Sun, 27 Oct 2002
Copyright © 2001, 2002 The PHP Group
All rights reserved.
This mirror generously provided by: http://phpbuilder.com/
Last updated: Thu Oct 31 18:34:28 2002 EST