Funkcja date() jest jedną z podstawowych funkcji PHP. Jak łatwo się dfomyśleć służy do formatowania daty wraz z godziną. Przyjmuje ona bardzo dużą ilość parametrów od których zależy w jaki sposób nasza data zostanie wyświetlona. Na początek jak wygląda sama funkcja:

string date ( string $format [, int $timestamp = time() ] )

Pod zmienną $format podstawiamy wybrane parametry opisane poniej w tabelce. $timestamp jest zmienną opcjonalną. Należy ją wstawić jeżeli chcemy sformatować konkretną datę. Domyślnie funkcja bioerze bierzacą datę. Wynikiem funkcji jest sformatowana data w postaci stringa.

Dla przykładu. Wstawienie takiej funkcji:

echo date('h:i:s d-m-Y \r');

Da nam coś takiego (oczywiście w zależności od obecnej godziny/daty)

14:21:12 14-12-2012 r

Łatwo dostrzec, że litery odpowiadają za wyswietlenie konkretnego elementu daty/czasu natomias “:” i “-” to jedynie znaki oddzielające. Jeżeli wewntrz wyświetlanej daty chcemy umieścić jakąś litere lub wyraz to należy każdy znak poprzedzić slashem “\”. Powoduje to wyświetlenie w niezmieniony sposób znaku który następuje po nim tak jak widać powyżej w przypadku litery “r”

Osobiście bardzo lubię stosować tę funckję jednak najprawdopodobniej wkrótce zostanie w całości zastopiąna clasą DateTime o której wkrótce napisze więcej

Kombinacji w jaki sposób można sformatować datę przy pomocy tej funckji jest na prawde sporo. Sam kożystałem z tej funkcji już wielokrotnie ale w dalszym ciągu nie pamiętam wszystkich skrótów, dlatego poniżej przedstawiam tabelę a w niej wszystkie parametry i ich zastosowanie.

Metody formatowania czasu

Znak Opis Przykładowy efekt
   Dzień
d Dni tygodnia w formie dwucyfrowej ( z zerami ) od 01 do 31
D Nazwy dni tygodnia w skrócie od Mon do Sun
j Dni tygodnia ( bez zer ) od 1 do 31
l (małe ‘L’) Pełna nazwa dni tygodnia od Sunday do Saturday
N Liczbowy odpowiednik dni tygodnia ( dodany w PHP 5.1.0) od 1 (poniedziałek) do 7 (niedziela)
S Anglieskie odpowiednik polskich końcówek typu pierwszy, drugi itp st, nd, rd lub
th. Dobrze wspołpracuje z argumentem j
w Liczbowy odpowiednik dni tygodnia zaczynając od zera od 0 (poniedziałek) do 6 (niedziela)
z Dzień w roku (począwszy od zera) od 0 do 365
W tydzień w roku (dodane w PHP 4.1.0) przykładowo 42 (jako 42 tydzień w roku)
   Miesiąc
F Pełna nazwa miesiąca w j angielskim od January (styczeń) doDecember(grudzień)
m Dwucyfrowy format miesiąca ( z zerami ) od 01 do 12
M Skrócona nazwa miesiąca w j angielskim od Jan dp Dec
n Liczbowy odpowiednik miesiąca ( bez zer ) od 1 do 12
t Liczba dni w wybranym miesiącu od 28 do 31
   Rok
L Czy jest to rok przystępny 1 jesli tak i 0 jeżeli nie
Y Rok w formie czterocyfrowej Przykład: 1999 lub 2013
y Rok w formie dwucyfrowej Przykład: 99 lub 13
   Czas
a Przedpołudnie/popołudnie stosowane w 12 godzinnym formacie zegarowym (małe litery) am lub pm
A Przedpołudnie/popołudnie stosowane w 12 godzinnym formacie zegarowym (duże litery) AM lub PM
B Czes typu ‘swatch’ 000 do 999
g 12-godzinny format czasu ( bez zer ) od 1 do 12
G 24-godzinny format czasu ( bez zer ) od 0 do 23
h dwucyfrowy 12-godzinny format czasu ( bez zer ) od 01 do 12
H dwucyfrowy 24-godzinny format czasu ( bez zer ) od 00 do 23
i Minuty w formie dwucyfrowej ( z zerami ) od 00 do 59
s Sekundy w formie dwucyfrowej ( z zerami ) od 00 do 59
   Strefa czasowa
e Identyfikator strefy czasowej (dodane w PHP 5.1.0) Przykład: UTC, GMT, Atlantic/Azores
I (duże i) Czas letni lub zimowy 1 jesli letni i 0 w przeciwnym wypadku
O Różnica z czasem Greenwich (GMT) w godzinach Przykład: +0200
P Różnica z czasem Greenwich (GMT) w godzinach z dwukropkiem miedzy godziną i minutą(dodane w PHP 5.1.3) Przykład: +02:00
T Skrót strefy czasowej Przykład: EST, MDT
Z Przesuniecie strefy czasowej w sekundach. Wartość na zachód jes zawsze ujemna a na wschód dodatnia od -43200 do 50400
   Pełna data i godzina
c Standard ISO 8601 (dodane w PHP 5) 2004-02-12T15:19:21+00:00
r Standard » RFC 2822 Przykład: Thu, 21 Dec 2000 16:01:07 +0200