PHP kézikönyv
Előző |  | Következő

# 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 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.

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.

Előző | Tartalom | Következő
date_sunset | Fel | getdate