A PHP date funkciója gyakran megijeszti a kezdő programozókat, hiszen rengeteg lehetséges opciót kínál.
Ha egy kicsit nehezebb is megérteni őket, még mindig jobb, ha több lehetőségünk van, mint ha nincs elég, nem igaz? A PHP date funkciójával formázhatjuk az időbélyegeket, hogy ember által is könnyebben olvashatóak legyenek. Mai leckénkben bemutatjuk, hogyan tudjuk megjeleníteni a pillanatnyi időt, megtanuljuk formázni az időbélyeget, és bemutatjuk a date funkció különféle paramétereit is.
PHP-date — az időbélyeg
A date funkció mindig létrehoz egy időbélyeget, attól függetlenül, hogy támogatva van-e, vagy sem. Mi az időbélyeg? Jó kérdés!
- Időbélyeg: Az időbélyeg a másodpercek száma, 1970. január 1-je, 00:00-tól számítva. A Unix Timestamp néven is ismert mértékegységet széleskörűen használják, és a PHP is erre támaszkodik.
Hány óra van?
A date funkció az ábécé betűit használja, hogy képviselje a tipikus dátum- és időformátum különféle részeit. A betűk, melyeket az első példánkban használunk, a következők:
- d: A hónap napja (day). A várható kimenet tehát 01-től 31-ig lesz.
- m: A hónap (month), számmal jelölve. Ez 01-től 12-ig terjed.
- y: Az év (year), két számjeggyel jelölve. Itt 00-tól 99-ig számíthatunk értékekre.
A többi opcióról is lesz még szó, most azonban hozzunk létre egy egyszerű dátumot a fent említett betűk segítségével! A betűk, melyeket a PHP a dátum részeinek megjelölésére használ, automatikusan PHP-re lesznek konvertálva.
Az olyan kiegészítő karaktereket, mint például a slash (/), a betűk közé szúrhatjuk, hogy formázzuk a dátumot. Példánkban ezt be is mutatjuk.
PHP-kód:
<?php
echo date('m/d/y');
?>
Ha ezt a kódot a 2010. évi téli olimpia utolsó napján írtuk volna, a következőt látnánk a képernyőn:
Megjelenítés a böngészőben:
02/27/10
Javasoljuk, hogy ezt akár most azonnal próbáld ki a saját PHP-szervereden. Igazán jó élmény látni az instant eredményeket a PHP-date segítségével!
Az időbélyeg biztosítása
Ahogyan azt az első példánk is bemutatta, a date funkció első paramétere megmondja a PHP-nek, hogyan szeretnénk, ha a dátum és az idő megjelenne. A második paraméter engedélyezi az időbélyeget, és opcionális.
Következő példánk az mktime funkciót használja, hogy időbélyeget hozzon létre a holnapi napra. Ahhoz, hogy előre ugorjunk egy napot, egyszerűen hozzáadunk egyet az mktime nap paraméteréhez. Hogy megkönnyítsük a jövőbeli munkádat, megmutatjuk az mktime paramétereit is. Fontos megjegyezni, hogy a funkció összes paramétere opcionális. Ha egyet sem adsz meg, akkor a pillanatnyi idő alapján lesz létrehozva az időbélyeg.
- mktime(hour, minute, second, month, day, year, daylight savings time), azaz magyarul
- mktime(óra, perc, másodperc, hónap, nap, év, nyári időszámítás)
PHP-kód:
<?php
$tomorrow = mktime(0, 0, 0, date('m'), date('d')+1, date('y'));
echo 'Holnapi nap: ' . date('m/d/y', $tomorrow);
?>
Tegyük fel, hogy ezt a scriptet is ugyanakkor írtuk, mint a fenti példánk esetében, azaz 2010. február 27-én.
Megjelenítés a böngészőben:
Holnapi nap: 02/28/10
PHP-date-referenciák
Most, hogy megismerkedtél a PHP-date funkció alapjaival, bemutatunk még néhány betűt, melyek segítségével formázhatod az időbélyeget úgy, hogy megfeleljen a szükségleteidnek.
Teljes dátum és idő:
- r: megjeleníti a teljes dátumot, időt és időzónát. Ez olyan, mintha manuálisan vinnénk be a dátumot ("D, d M Y H:i:s O")
Idő:
- a: am vagy pm, az időtől függően.
- A: AM vagy PM, az időtől függően.
- g: Óra, a kezdő nullák nélkül. Az értékek 1-től 12-ig terjednek.
- G: Óra, 24 órás formátumban, a kezdő nullák nélkül. Az értékek 0-tól 23-ig terjednek.
- h: Óra, a kezdő nullákkal. Az értékek 01-től 12-ig terjednek.
- H: Óra, 24 órás formátumban, a kezdő nullákkal. Az értékek 00-tól 23-ig terjednek.
- i: Percek, a kezdő nullákkal. Az értékek 00-tól 59-ig terjednek.
- s: Másodpercek, a kezdő nullákkal. Az értékek 00-tól 59-ig terjednek.
Nap:
- d: A hónap napja a kezdő nullákkal. Az értékek 01-től 31-ig terjednek.
- j: A hónap napja a kezdő nullák nélkül. Az értékek 1-től 31-ig terjednek.
- D: A hét napjainak rövidítései: Sun-Sat.
- I: A hét napja. Értékek: Sunday-Saturday.
- w: A hét napja a kezdő nullák nélkül. Az értékek 0-tól 6-ig terjednek.
- z: Az év napja a kezdő nullák nélkül. Az értékek 0-tól 365-ig terjednek.
Hónap:
- m: A hónap száma a kezdő nullákkal. Az értékek 01-től 12-ig terjednek.
- n: A hónap száma a kezdő nullák nélkül. Az értékek 1-től 12-ig terjednek.
- M: A hónapok nevének rövidítései: Jan-Dec.
- F: A hónap. Értékek: January-December.
- t: A napok száma a hónapban. Az értékek 28-tól 31-ig terjednek.
Év:
- L: 1, ha szökőév van, és 0, ha nincs.
- Y: Négy számjegyű évformátum.
- y: Két számjegyű évformátum. Az értékek 00-tól 99-ig terjednek.
Más formák:
- U: A Unix Epoch óta eltelt másodpercek száma (1970. január 1.).
- O: Ez az időzóna-eltolódást jelenti, ami a greenwichi középidőtől (GMT) való eltérésre utal. 100 = 1 óra, -600 = -6 óra.
Próbáld ki valamennyit, hogy igazán ráérezz a date funkció működésére. Jó gyakorlást!
Nyereményjáték
Rovatunk elsődleges célja, hogy közelebbről is bemutassa a legismertebb webtechnológiákat. Azok között az olvasók között, akik minden héten követik rovatunkat, azaz velünk tanulják a programozás alapjait és kitöltik a feladatsort, a sorozat végén egy laptopot sorsolunk ki.
Heti kérdés – nyereményjáték:
Hogyan tudjuk a date funkcióval megkapni az aktuális időt a következő formátumban: 2019-07-24 15:05:00?
A választ a tanulok@erdsoft.com e-mail-címre kell elküldeni, a tárgysorba pedig a következőt kell beírni: HÉTNAP-TANULOK. Sok szerencsét!
Néhány szó rólunk:
Az ErdSoft (www.erdsoft.com) 2011-ben alakult meg. Csapatunkat a fiatalos lendület, a szakértelem, a folyamatos tanulás és tapasztalatgyűjtés jellemzi. Ügyfeleinknek igyekszünk teljes körű szolgáltatást nyújtani — bátran fordulhatnak hozzánk, legyen szó webfejlesztésről, alkalmazásokról, SEO-optimalizálásról, grafikai tervezésről, marketingről vagy szövegírásról. Csapatunk sikerét mi sem bizonyítja jobban, mint a több száz elkészült weboldal és a számos elégedett ügyfél Szerbiában, Magyarországon és az Egyesült Királyságban.