echo date("Y"); Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
echo date("Y");Po wykonaniu kodu PHP zostanie wyświetlona aktualna data zawierająca jedynie
A. miesiąc i rok.
B. dzień.
C. dzień i miesiąc.
D. rok.
Pytanie z egzaminu CKE, czerwiec 2021 (arkusz EE.09-SG-21.06).
Format Y w funkcji date() oznacza pełny rok zapisany czterema cyframi, na przykład 2026. Dlatego instrukcja echo date("Y"); wypisze tylko aktualny rok, bez dnia i bez miesiąca. W PHP funkcja date() przyjmuje tak zwany łańcuch formatujący, czyli tekst określający, które elementy daty i czasu mają zostać zwrócone. Litera Y ma konkretne znaczenie opisane w dokumentacji PHP: rok w postaci czterocyfrowej. Dla porównania d oznacza dzień miesiąca, m oznacza miesiąc jako liczbę, a y oznacza rok dwucyfrowy. W praktyce taki zapis często spotyka się w stopkach stron, np. przy automatycznym roku w informacji copyright, albo w nazwach plików raportów. Moim zdaniem warto od razu pamiętać też o strefie czasowej serwera, bo date() korzysta z ustawień PHP, np. z php.ini albo date_default_timezone_set(). W większych projektach dobrą praktyką bywa użycie klasy DateTime, ale do prostego wypisania roku date("Y") jest całkiem normalnym i poprawnym rozwiązaniem.
W tym pytaniu łatwo pomylić się przez samą nazwę funkcji date(), bo po polsku od razu kojarzy się ona z całą datą, czyli dniem, miesiącem i rokiem. W PHP tak to jednak nie działa automatycznie. Funkcja date() zwraca wynik zależny od podanego formatu, a tutaj format składa się tylko z jednej litery: Y. Ta litera nie oznacza ani dnia, ani miesiąca, ani zestawu kilku składników daty. Oznacza wyłącznie rok zapisany czterema cyframi. Gdyby trzeba było wypisać dzień i miesiąc, użyłoby się na przykład formatu d.m, gdzie d to dzień miesiąca, a m to miesiąc liczbowo. Miesiąc i rok można by uzyskać przez m.Y, natomiast sam dzień przez d. Typowy błąd myślowy polega na założeniu, że skoro funkcja nazywa się date, to zawsze pokazuje pełną datę, ale w programowaniu webowym szczegóły formatu mają znaczenie. Warto też uważać na wielkość liter, bo Y i y w PHP nie są tym samym: Y daje rok czterocyfrowy, a y tylko dwie ostatnie cyfry roku. Z mojego doświadczenia takie drobiazgi często wychodzą potem przy generowaniu raportów, faktur albo nazw plików, więc lepiej uczyć się ich dokładnie, a nie na wyczucie.