DateTimeInterface::formatDateTimeImmutable::formatDateTime::formatdate_formatZwraca datę sformatowaną według określonego formatu
&reftitle.description;
&style.oop;publicstringDateTimeInterface::formatstringformatpublicstringDateTimeImmutable::formatstringformatpublicstringDateTime::formatstringformat&style.procedural;stringdate_formatDateTimeInterfaceobjectstringformat
Zwraca datę sformatowaną według określonego formatu.
&reftitle.parameters;
&date.datetime.description;
format
Format zwracanej daty string. Zobacz możliwe ustawienia
formatowania poniżej. Istnieje także kilka
predefiniowanych stałych daty,
których można użyć w zamian, przykładowo DATE_RSS
zawiera ciąg formatujący 'D, d M Y H:i:s'.
Następujące znaki są rozpoznawane
parametrze formatZnak formatującyOpisPrzykłady zwracanych wartościDzień------dDzień miesiąca, 2 cyfry z wiodącymi zerami01 do 31DTekstowy opis angielskiej nazwy dnia, trzy literyMon kończąc na SunjDzień miesiąca bez zer wiodących1 do 31l (małe 'L')Pełen angielski opis dnia tygodniaSunday aż do SaturdayNLiczbowa forma dnia tygodnia, zgodna z normą ISO-86011 (dla poniedziałku) aż do 7 (dla niedzieli)SAngielski przyrostek porządkowy dla dnia miesiąca, 2 literyst, nd, rd lub
th. Dobrze wygląda w połączeniu z jwLiczbowa forma dnia tygodnia0 (dla niedzieli) aż go 6 (dla soboty)zDzień roku (zaczynając od 0)0 aż do 365Tydzień------WNumer tygodnia w roku, zgodny z normą ISO-8601, Tygodnie rozpoczynają się od poniedziałkuPrzykład: 42 (42. tydzień roku)Miesiąc------FPełen angielski opis, dnia miesiąca, taki jak January czy March January aż do DecembermLiczbowa forma miesiąca, z zerami wiodącymi01 aż do 12MKrótki, angielski opis miesiąca, trzy literyJan aż do DecnLiczbowa forma miesiąca, bez zer wiodących1 aż do 12tIlość dni w danym miesiącu28 do 31Rok------LInformacja o tym, czy rok jest przestępnym1 jeśli rok jest przestępny, 0 w przeciwnym wypadku.oISO-8601 week-numbering year. Zwraca to taką samą wartość jak
Y, z tym, że jeśli numer tygodnia ISO
(W) należy do poprzedniego lub następnego roku, to taki
rok będzie użyty w zamian.Przykłady: 1999 lub 2003XRozszerzona numeryczna reprezentacja roku, minimum 4 cyfry,
z - dla lat p.n.e. i +
dla lat n.e.Przykłady: -0055, +0787,
+1999, +10191xRozszerzona pełna numeryczna forma jeśli wymagana lub
standardowa pełna numeryczna forma jeśli jest to możliwe (jak
Y). Minimum 4 cyfry. Lata p.n.e. są poprzedzone
znakiem -. Lata od
10000 włącznie są poprzedzone znakiem
+.Przykłady: -0055, 0787,
1999, +10191YPełna liczbowa forma roku, 4 cyfry,
ze znakiem - dla lat p.n.e.Przykłady: -0055, 0787,
1999, 2003,
10191yDwie cyfry reprezentujące rokPrzykłady: 99 lub 03Czas------aPora dnia, dwie małe litery (przed/po południu) (łac. Ante/Post meridiem)am lub pmAPora dnia, dwie duże litery (przed/po południu) (łac. Ante/Post meridiem)AM or PMBSwatch Internet Time000 aż do 999gGodzina, w formacie 12-godzinnym, bez zer wiodących1 aż do 12GGodzina, w formacie 24-godzinnym, bez zer wiodących0 aż do 23hGodzina, w formacie 12-godzinnym, z zerami wiodącymi01 aż do 12HGodzina, w formacie 24-godzinnym, z zerami wiodącymi00 do 23iMinuty z zerami wiodącymi00 do 59sSekundy, z zerami wiodącymi00 do 59u
Mikrosekundy. Zauważ, że
date zawsze wygeneruje
000000, ponieważ przyjmuje parametr typu int, podczas gdy DateTimeInterface::format
obsługuje mikrosekundy, jeżeli obiekt o typie
DateTimeInterface został utworzony z mikrosekundami.
Przykład: 654321v
Milisekundy. Takie same uwagi jak dla
u.
Example: 654Strefa czasowa------eIdentyfikator strefy czasowejPrzykłady: UTC, GMT, Europe/ZagrebI (duże i)Informacja o tym, czy data jest w czasie letnim1 jeśli czas jest letni, 0 w przeciwnym razie.ORóżnica z czasem Greenwich (GMT) w godzinachPrzykład: +0200PRóżnica z czasem Greenwich (GMT) z dwukropkiem pomiędzy godzinami i minutamiPrzykład: +02:00p
Takie samo jak P, ale zwraca Z zamiast +00:00
(dostępne od PHP 8.0.0)
Przykłady: Z lub +02:00TSkrót dla strefy czasowej, jeśli znany; w przeciwnym razie różnica do GMTPrzykłady: EST, MDT, +05ZRóżnica dla strefy czasowej w sekundach. Wyrównanie to jest zawsze ujemne dla stref położonych na zachód
od południka 0 (UTC) oraz dodatnie dla tych leżących na wschód od niego.-43200 aż do 50400Pełna data/czas------cData w standardzie ISO 86012004-02-12T15:19:21+00:00rData zgodna z RFC 2822/RFC 5322Przykład: Thu, 21 Dec 2000 16:01:07 +0200USekundy liczone od ery UNIX-a (January 1 1970 00:00:00 GMT)Zobacz także time
Inne znaki umieszczone w łańcuchu formatującym zostaną wyświetlone
normalnie, bez ich zamieniania. Z zwróci zawsze
0 podczas używania gmdate.
Ponieważ ta funkcja przyjmuje jako znacznik czasu jedynie typ int,
znak formatujący u przydaje się jedynie, gdy używamy funkcji
date_format z samodzielnie zdefiniowanymi znacznikami czasu
stworzonymi za pomocą funkcji date_create.
&reftitle.returnvalues;
Zwraca ciąg znaków ze sformatowaną datą w wypadku powodzenia.
&reftitle.changelog;
&Version;&Description;8.2.0
Dodano znaki formatujące X i x.
8.0.0
Dodano znak formatujący p.
&reftitle.examples;
Przykład użycia DateTimeInterface::format&style.oop;
format('Y-m-d H:i:s');
?>
]]>
&style.procedural;
]]>
&example.outputs;
Więcej przykładów
format('l'), "\n";
// Wyświetli na przykład Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* można też użyć stałych jako argumentu */
// wyświetli na przykład: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
?>
]]>
Możesz ochronić rozpoznawalne znaki w łańcuchu formatującym przed
zinterpretowaniem przez poprzedzenie ich znakiem ucieczki (backslashem). Jeśli znak
razem z backslashem jest specjalną sekwencją, możliwe, iż będzie trzeba poprzedzić kolejnym
znakiem ucieczki całą sekwencję.
Escape'owanie znaków podczas formatowania
format('l \t\h\e jS');
?>
]]>
Aby sformatować datę w innych językach można użyć
IntlDateFormatter::format
zamiast DateTimeInterface::format.
&reftitle.notes;
Ta metoda nie wspiera tłumaczeń, wszystkie zwracane wartości są po angielsku.
&reftitle.seealso;
IntlDateFormatter::format