date
(PHP 4, PHP 5)
date — Sformátovať miestny čas/dátum
Popis
Vracia reťazec sformátovaný podľa daného formátového reťazca pomocou daného integeru timestamp alebo ak nie je daný žiadny timestamp, podľa aktuálneho miestneho času. Inými slovami, timestamp je voliteľný a jeho východzou hodnotou je time().
Note: Platný rozsah timestampu je typicky od Fri, 13 Dec 1901 20:45:54 GMT do Tue, 19 Jan 2038 03:14:07 GMT. (Toto sú dátumy, ktoré zodpovedajú minimálnym a maximálnym hodnotám pre 32-bitový signed integer). Na windowse je tento rozsah ohraničený od 01-01-1970 do 19-01-2038.
Na vygenerovanie timestampu z reťazcovej reprezentácie dátumu môžete použiť strtotime(). Niektoré databázy majú funkcie na konvertovanie svojich formátov dátumu na timestampy (ako je MySQL funkcia » UNIX_TIMESTAMP).
format znak | Popis | Príklad vrátenych hodnôt |
---|---|---|
a | Lowercase Ante meridiem a Post meridiem | am alebo pm |
A | Uppercase Ante meridiem a Post meridiem | AM alebo PM |
B | Swatch Internet čas | 000 až 999 |
d | Deň mesiaca, 2 číslice s úvodnými nulami | 01 do 31 |
D | Textová reprezentácia dňa, tri písmená | Mon až Sun |
F | Plná textová reprezentácia mesiaca, ako je January alebo March | January až December |
g | 12-hodinový formát hodiny bez úvodných núl | 1 až 12 |
G | 24-hodinový formát hodiny bez úvodných núl | 0 do 23 |
h | 12-hodinový formát hodiny s úvodnými nulami | 01 až 12 |
H | 24-hodinový formát hodiny s úvodnými nulami | 00 do 23 |
i | Minúty s úvodnými nulami | 00 do 59 |
I (velké i) | Buď dátum je alebo nie je v letnom čase | 1 ak je Letný Čas, inak 0. |
j | Deň v miesiaci bez úvodných núl | 1 do 31 |
l (malé 'L') | Plná textová reprezentácia dňa v týždni | Sunday až Saturday |
L | Či je priestupný rok | 1 ak je pristupný rok, inak 0. |
m | Číselná reprezentácia mesiaca s úvodnými nulami | 01 až 12 |
M | Krátka textová reprezentácia mesiaca, tri písmená | Jan až Dec |
n | Číselná reprezentácia mesiaca bez úvodných núl | 1 až 12 |
O | Rozdiel od Greenwichského času (GMT) v hodinách | Príklad: +0200 |
r | RFC 822 formátovný dátum | Príkled: Thu, 21 Dec 2000 16:01:07 +0200 |
s | Sekundy s úvodnými nulami | 00 až 59 |
S | Anglická radová prípona pre deň v miesiaci, 2 znaky | st, nd, rd alebo th. Dobre funguje s j |
t | Počet dní v dahom mesiaci | 28 až 31 |
T | Nastavenie časovej zóny tohto stroja | Príklad: EST, MDT ... |
U | Sekundy od Unixovej Epochy (1. Január 1970 00:00:00 GMT) | Tiež pozri time() |
w | Časová reprezentácia dňa v týždni | 0 (pre Nedeľu) až 6 (pre Sobotu) |
W | ISO-8601 číslo týždňa v roku, týždne začínajú Pondelkom (pridané v PHP 4.1.0) | Príklad: 42 (42. týždeň v roku) |
Y | Plná číselná reprezentácia roku, 4 číslice | Príklady: 1999 alebo 2003 |
y | Dvoj-číslicová reprezentácia roku | Príklady: 99 alebo 03 |
z | Deň v roku | 0 až 366 |
Z | Offset časovej zóny v sekundách. Offset pre časové zóny západne od UTC sú vždy záporné a pre tie na východ od UTC sú vždy kladné. | -43200 až 43200 |
Nerozpoznané znaky vo formátovanom reťazci budú vytlačené tak ako-sú. Formát Z vráti vždy 0 pri používaní gmdate().
Example#1 date() príklady
<?php
// Vypisuje nieco ako: Wednesday
echo date("l");
// Vypisuje nieco ako: Wednesday 15th of January 2003 05:51:38 AM
echo date ("l dS of F Y h:i:s A");
// Vypisuje: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000));
?>
Pred rozpoznávané znaky môžete napísať opačné lomítko (backslash), aby nedošlo k formátovaniu. Ak už znak s opačným lomítkom je špeciálnou sekvenciou, budete ju tiež musieť zaopatriť lomítkom.
Example#2 Vyskočenie znakov v date()
<?php
// vypisuje nieco ako: Wednesday the 15th
echo date("l \\t\h\e jS");
?>
Je možné použiť date() spolu s mktime() na zistinie dátumov v budúcnosti alebo v minulosti.
Example#3 date() a mktime() príklad
<?php
$zajtra = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$minulymesiac = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$buducirok = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
?>
Note: Toto môže byť spoľahlivejšie než jednoduché pridanie alebo odobranie počtu sekúnd v dni alebo miesiaci do timestampu, kvôli letnému času.
Nejaké príklady date() formátovania. Všetky ostatné znaky by ste mali 'vyskočiť', pretože tie, ktoré už majú špeciálny význam budú spôsobovať nežiadúce výsledky a iným znakom môže byť nejaký význam priradený v budúcich verziách PHP. Uistite sa, že pri vyskakovaní používate jednoduché apostrofy, aby ste predišli tomu, že sa znaky ako \n nestanú novými riadkami.
Example#4 date() Formátovanie
<?php
// Predpokladame, ze dnes je: 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('\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
?>
Na formátovanie dátumov v iných jazykoch by ste mali používať funkcie setlocale() a strftime().
Tiež pozri getlastmod(), gmdate(), mktime(), strftime() a time().