PHP - date
PHP -> Funkcie -> Dátum a čas funkcie PHP -> funkcia date
Syntax
string date ( string format [, int timestamp] )
Popis
Príkaz jazyka PHP
date -- Formátuje místní datum/čas
Vracia reťazec formátovaný podľa príslušného formátovacieho reťazca s použitím danej celočíselnej časovej pečiatky timestamp alebo aktuálneho miestneho času (ak nie je časová pečiatka zadaná). Inými slovami, parameter timestamp je voliteľný a jeho predvolená hodnota je výsledok funkcie time.
Poznámka: Platný rozsah pre časovú pečiatku je typicky od piatku 13.12.1901 20:45:54 GMT do utorka 19.1.2038 03:14:07 GMT. (Tieto hodnoty zodpovedajú minimálnej a maximálnej hodnote 32-bitového celého čísla so znamienkom). Na Windows je tento rozsah obmedzený na obdobie 1.1.1970 až 19.1.2038.
K vygenerovania časovej pečiatky z reťazca reprezentatívneho dátum možno použiť funkciu strtotime. Navyše niektoré databázy majú funkcie, ktoré premenia ich dátové formáty na časové pečiatky (napr. funkcia UNIX_TIMESTAMP v MySQL).
Ve formátovacím řetězci lze používat tyto znaky
znak parametru format | Popis | Ukázka vracených hodnot |
---|---|---|
a | Příznak dopoledne/odpoledne malými písmeny | am nebo pm |
A | Příznak dopoledne/odpoledne velkými písmeny | AM nebo PM |
B | Internetový čas Swatch | 000 až 999 |
d | Den měsíce, dvě číslice s úvodními nulami | 01 až 31 |
D | Textová reprezentace dne, tři znaky | Mon až Sun |
F | Plná textová reprezentace měsíce typu January nebo March | January až December |
g | 12-hodinový formát hodiny bez úvodních nul | 1 až 12 |
G | 24-hodinový formát hodiny bez úvodních nul | 0 až 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 až 23 |
i | Minuty s úvodními nulami | 00 až 59 |
I (velké i) | Zjištění, zda je letní čas | 1 pokud je letní čas, 0 jinak. |
j | Den měsíce bez úvodních nul | 1 až 31 |
l (malé 'L') | Plná textová reprezentace dne v týdnu | Sunday až Saturday |
L | Zjištění, zda je rok přestupný | 1 pokud je přestupný rok, 0 jinak. |
m | Číselná reprezentace měsíce s úvodními nulami | 01 až 12 |
M | Krátká textová reprezentace měsíce, tři znaky | Jan až Dec |
n | Číselná reprezentace měsíce bez úvodních nul | 1 až 12 |
O | Odchylka od Greenwichského času (GMT) v hodinách | Příklad: +0200 |
r | Datum formátované podle RFC 822 | Příklad: Thu, 21 Dec 2000 16:01:07 +0200 |
s | Sekundy s úvodními nulami | 00 až 59 |
S | Anglická pořadová přípona dne v měsíci, 2 znaky | st, nd, rd nebo th. Dobře funguje s j |
t | Počet dní v daném měsíci | 28 až 31 |
T | Nastavení časového pásma na tomto počítači | Příklady: EST, MDT ... |
U | Sekundy od počátku éry Unix (1. ledna 1970 00:00:00 GMT) | Viz také time() |
w | Číselná reprezentace dne v týdnu | 0 (pro neděli) až 6 (pro sobotu) |
W | Číslo týdne podle ISO-8601, týdny začínají v pondělí (doplněno v PHP 4.1.0) | Příklad: 42 (42. týden v roce) |
Y | Plná číselná reprezentace roku, 4 číslice | Příklady: 1999 nebo 2003 |
y | Dvouciferná reprezentace roku | Příklady: 99 nebo 03 |
z | Deň v roku | 0 až 365 |
Z | Posun časového pásma v sekundách. Posun časových pásem západně od UTC je vždy záporný, východně od UTC je vždy kladný. | -43200 až 43200 |
Príklad
Příklady - date()
<?php
// Napíše niečo ako: 2024-03-10
echo date("Y-m-d");
// Napíše niečo ako: Wednesday
echo date("l");
// Napíše niečo ako: Wednesday 15th of January 2024 05:51:38 AM
echo date ("l dS of F Y h:i:s A");
// Vytiskne: July 1, 2024 is on a Saturday
echo "July 1, 2024 is on a " . date ("l", mktime(0,0,0,7,1,2024));
?>
// Napíše niečo ako: 2024-03-10
echo date("Y-m-d");
// Napíše niečo ako: Wednesday
echo date("l");
// Napíše niečo ako: Wednesday 15th of January 2024 05:51:38 AM
echo date ("l dS of F Y h:i:s A");
// Vytiskne: July 1, 2024 is on a Saturday
echo "July 1, 2024 is on a " . date ("l", mktime(0,0,0,7,1,2024));
?>
Rozpoznávané znaky ve formátovacím řetězci můžete ochránit před zpracováním tak, že jim předřadíte obrácené lomítko. Pokud už má znak s obráceným lomítkem speciální význam, je třeba před něj přidat ještě jedno obrácené lomítko.
//Ochrana znaků ve funkci date()
<?php
// vytiskne něco jako 'Saturday the 8th'
echo date("l he jS");
?>
<?php
// vytiskne něco jako 'Saturday the 8th'
echo date("l he jS");
?>
Příklad - date() a mktime()
<?php
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
?>
$tomorrow = mktime (0,0,0,date("m") ,date("d")+1,date("Y"));
$lastmonth = mktime (0,0,0,date("m")-1,date("d"), date("Y"));
$nextyear = mktime (0,0,0,date("m"), date("d"), date("Y")+1);
?>
Formátování pomocí date()
<?php
// Predpokladejme, že dnes je 10. marca 2024, 17:16:18
$today = date("F j, Y, g:i a"); // March 10, 2024, 5:16 pm
$today = date("m.d.y"); // 03.10.24
$today = date("j, n, Y"); // 10, 3, 2024
$today = date("Ymd"); // 20240310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-24, 1631 1618 6 Fripm01
$today = date('it is the jS day.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2024
$today = date('H:m:s m is month'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
// Predpokladejme, že dnes je 10. marca 2024, 17:16:18
$today = date("F j, Y, g:i a"); // March 10, 2024, 5:16 pm
$today = date("m.d.y"); // 03.10.24
$today = date("j, n, Y"); // 10, 3, 2024
$today = date("Ymd"); // 20240310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-24, 1631 1618 6 Fripm01
$today = date('it is the jS day.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2024
$today = date('H:m:s m is month'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
Pozri aj
getlastmod, gmdate, mktime, strftime a time