date

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