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 |