date

(PHP 3, 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.

Megjegyzés: 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 .

Megjegyzés: 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).

Táblázat 1. A format stringben a következő karakterek lehetnek:

formátum karakterLeírásPéldák visszaadott értékekre
a"am" vagy "pm" (délelőtt vagy délután)am vagy pm
A"AM" vagy "PM" (ugyanez nagybetűvel)AM vagy PM
BSwatch Internet time000-tól 999-ig
cISO 8601 date (PHP 5-től)2004-02-12T15:19:21+00:00
dHónap napja 2 számjeggyel (előtte 0, ha kell)01-től 31-ig
DA hét napjának szöveges reprezentációja három betűvelMon .. Sun
FA hónap szöveges reprezentációjaJanuary .. December
gÓra 12 órás formátumban, felesleges nullák nélkül1-től 12-ig
GÓra 24 órás formátumban, felesleges nullák nélkül0-tól 23-ig
hÓra 12 órás formátumban, 2 számjeggyel01-től 12-ig
HÓra 24 órás formátumban, 2 számjeggyel00-tól 23-ig
iPercek, 2 számjeggyel00-tól 59-ig
I (nagy i)A nyári időszámítás van-e vagy sem1 nyári időszámítás alatt, 0 egyébként.
jA hónap napja, felesleges nullák nélkül1-től 31-ig
l (kis 'L')A hét napjának hosszú szöveges reprezentációjaSunday .. Saturday
LSzőkőév van-e vagy sem1 szökőév esetén, 0 egyébként.
mA hónap számreprezentációja, 2 számjeggyel01-től 12-ig
MA hónap szöveges reprezentációja három betűvelJan .. Dec
nA hónap számreprezentációja, felesleges nullák nélkül1-től 12-ig
OKülönbség a Greenwich-i (GMT) és a helyi idő között órákbanPélda: +0200
rRFC 2822 formátumű dátumPélda: Thu, 21 Dec 2000 16:01:07 +0200
sMásodpercek, 2 számjeggyel00-tól 59-ig
SA hónap napjához tartozó angol sorszám-utóta, 2 karakter st, nd, rd vagy th. Jól hasznáható a j-vel együtt.
tA napok száma az adott hónapban28-tól 31-ig
TA gép időzóna beállításaPéldák: EST, MDT ...
UA Unix Epoch (January 1 1970 00:00:00 GMT) óta eltelt másodpercek számaLásd még a time() függvényt
wA hét napjának számreprezentációja0-tól (Vasárnap) 6-ig (Szombat)
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)
YAz év 4 számjegyű számreprezentációkaPéldák: 1999, 2003
yAz év 2 számjegyű számreprezentációjaPéldák: 99, 03
zAz év napja (0-tól kezdve)0-tól 365-ig
ZIdőzóna eltolás másodpercekben. Az UTC-től nyugatra mindig negatív, keletre pedig pozitív.-43200-tól 43200-ig

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.

Példa 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(0, 0, 0, 7, 1, 2000));
?>

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.

Példa 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.

Példa 3. date() és mktime() példa

<?php
$holnap      
= mktime(0, 0, 0, date("m"),   date("d")+1, date("Y"));
$utolsohonap = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$kovetkezoev = mktime(0, 0, 0, date("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!
?>

Megjegyzés: 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.

Példa 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.