Forum und email

date

(PHP 4, PHP 5)

date — Egy időpontstringgel tér vissza

Leírás

string date ( string $format [, int $ timestamp ] )

Egy stringgel tér vissza, amely a formátumstring szerinti alakban tartalmazza a timestamp dátumot, ennek hiányában az aktuális helyi időt. Más szóval, a timestamp paraméter elhagyható és az alapértelmezett értéke a time() függvény értéke.

Note: Az időpont érvényes időpontja tipikusan 1901 Dec. 13. 20:25:54 és 2038. Jan. 19. 03:14:07 közötti időpontot jelent (Greenwich-i időpont szerint) (Ezek a dátumok a legkisebb és a legnagyobb 32-bites egész szám által reprezentált dátumok). Windows-on ez az intervallum 1970.01.01 - 2038.01.19 .

Note: Ha egy karakterlánc által leírt időpontból szeretnél időpontot gyártani, akkor használhatod a strtotime() függvényt. Ráadásul, néhány adatbázisnak van rá függvénye, hogy a belső időpont-ábrázolásukat "unix timestamp"-pé alakítják (a MySQL » UNIX_TIMESTAMP függvénye ilyen).

A format stringben a következő karakterek lehetnek:
formátum karakter Leírás Példák visszaadott értékekre
Nap --- ---
d Hónap napja 2 számjeggyel (előtte 0, ha kell) 01-től 31-ig
D A hét napjának szöveges reprezentációja három betűvel Mon .. Sun
j A hónap napja, felesleges nullák nélkül 1-től 31-ig
l (kis 'L') A hét napjának hosszú szöveges reprezentációja Sunday .. Saturday
S A hónap napjához tartozó angol sorszám-utója, 2 karakter st, nd, rd vagy th. Jól hasznáható a j-vel együtt.
w A hét napjának számreprezentációja 0-tól (Vasárnap) 6-ig (Szombat)
z Az év napja (0-tól kezdve) 0-tól 365-ig
Hét --- ---
W Év hetének a száma ISO-8601 szerint. A hetek hétfőn kezdődnek. (PHP 4.1.0-tól) Példa: 42 (a 42. hét az évben)
Hónap --- ---
F A hónap szöveges reprezentációja January .. December
m A hónap számreprezentációja, 2 számjeggyel 01-től 12-ig
M A hónap szöveges reprezentációja három betűvel Jan .. Dec
n A hónap számreprezentációja, felesleges nullák nélkül 1-től 12-ig
t A napok száma az adott hónapban 28-tól 31-ig
Év --- ---
L Szőkőév van-e vagy sem 1 szökőév esetén, 0 egyébként.
Y Az év 4 számjegyű számreprezentációka Példák: 1999, 2003
y Az év 2 számjegyű számreprezentációja Példák: 99, 03
Idő --- ---
a "am" vagy "pm" (délelőtt vagy délután) am vagy pm
A "AM" vagy "PM" (ugyanez nagybetűvel) AM vagy PM
B Swatch Internet time 000-tól 999-ig
g Óra 12 órás formátumban, felesleges nullák nélkül 1-től 12-ig
G Óra 24 órás formátumban, felesleges nullák nélkül 0-tól 23-ig
h Óra 12 órás formátumban, 2 számjeggyel 01-től 12-ig
H Óra 24 órás formátumban, 2 számjeggyel 00-tól 23-ig
i Percek, 2 számjeggyel 00-tól 59-ig
s Másodpercek, 2 számjeggyel 00-tól 59-ig
Időzóna --- ---
I (nagy i) A nyári időszámítás van-e vagy sem 1 nyári időszámítás alatt, 0 egyébként.
O Különbség a Greenwich-i (GMT) és a helyi idő között órákban Példa: +0200
T A gép időzóna beállítása Példák: EST, MDT ...
Z Időzóna eltolás másodpercekben. Az UTC-től nyugatra mindig negatív, keletre pedig pozitív. -43200-tól 43200-ig
Teljes dátum, idő --- ---
c ISO 8601 date (PHP 5-től) 2004-02-12T15:19:21+00:00
r » RFC 2822 formátumű dátum Példa: Thu, 21 Dec 2000 16:01:07 +0200
U A Unix Epoch (January 1 1970 00:00:00 GMT) óta eltelt másodpercek száma Lásd még a time() függvényt

A formátumstringben levő, egyéb karakterek egy az egyben megjelennek. A Z betű mindig 0-val tér vissza, ha a gmdate()-et használjuk.

Example#1 date() példák

<?php
// Valami ehhez hasonlót ír ki: Wednesday
echo date("l");

// Valami ehhez hasonlót ír ki: Wednesday 15th of January 2003 05:51:38 AM
echo (date ("l dS of F Y h:i:s A"));

// Valami ehhez hasonlót ír ki: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " date ("l"mktime(000712000));
?>

A felismert karaktereket a formátumstringben backslash-sel tudod megvédeni. Ha a karakter backslash karakter után is speciális jelentéssel bír, akkor a backslash-t is meg kell védeni a kiértékeléstől.

Example#2 Karakterek megvédése a date() függvényben

<?php
// Valami olyasmit ír ki, hogy: Wednesday the 15th
echo date("l \\t\h\e jS");
?>

A date()-et és a mktime()-ot ügyesen együtt használva információt szerezhetsz múltbeli és jövőbeli időpontokról.

Example#3 date() és mktime() példa

<?php
$holnap      
mktime(000date("m"),   date("d")+1date("Y"));
$utolsohonap mktime(000date("m")-1date("d"),   date("Y"));
$kovetkezoev mktime(000date("m"),   date("d"),   date("Y")+1);
// ezek mind működnek hónap végén, ill. januárban is. Ha nem hiszed, próbáld ki!
?>

Note: Ez sokkal megbízhatóbb, mint az időbélyegekkel számolni (gondolj a téli-nyári időszámításkori átállásokra)

Néhány példa a date() függvény formázására. Figyeld meg, hogy az összes karaktert meg kell védened a kiértékeléstől, nem csupán azokat, amlyeknek már most speciális jelentésük van, ugyanis egy jövőbeli PHP változatban ezek is jelentést kaphatnak. Amikor egy karaktert megvédesz az értelmezéstől, használj aposztrófokat a karakterlánc megadására, hogy pl. a \n újsorokká történő átalakítását megakadályozd.

Example#4 A date() függvyény formátumstringje

<?php
// Tegyük fel, hogy a jelen időpont: March 10th, 2001, 5:16:18 pm

$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('\M\a \a \h\ó\n\a\p j. \n\a\p\j\a \v\a\n.');   // Ma a hónap 10. napja van
$today date("D M j G:i:s T Y");               // Sat Mar 10 15:16:08 MST 2001
$today date('H:m:s \m = \h\ó\n\a\p');         // 17:03:17 m = hónap
$today date("H:i:s");                         // 17:16:17
?>

Ha a dátumokat más nyelven szeretnéd megkapni, használd a setlocale() és a strftime() függvényeket.

Lásd még a getlastmod(), gmdate(), mktime(), strftime() és a time() függvényeket.