W jakim formacie będzie wyświetlana data po uruchomieniu przedstawionego kodu? <?php
echo date('l, dS F Y');
?>
Ciąg formatujący czyta się znak po znaku: l to pełna nazwa dnia tygodnia, dS to dzień miesiąca wraz z angielskim sufiksem porządkowym (1st, 2nd, 3rd, 10th), F to pełna nazwa miesiąca, a Y to rok czterocyfrowy. Przecinek i spacje zostają w wyniku dokładnie tam, gdzie je wpisano, bo każdy znak niebędący literą formatującą przechodzi do wyjścia bez zmian. Dla 10 lipca 2017 roku daje to Monday, 10th July 2017. Warto zapamiętać jeszcze dwie rzeczy. Wielkość litery ma znaczenie: Y to rok czterocyfrowy, a y dwucyfrowy. Nazwy dni i miesięcy funkcja date zwraca po angielsku niezależnie od ustawień systemu – polskie nazwy wymagają osobnych mechanizmów, na przykład klasy IntlDateFormatter.
Każdy błędny wariant różni się jednym elementem ciągu formatującego, więc warto rozbierać go po kolei. Wersja z samym 10 zamiast 10th pomija literę S, która dokłada sufiks porządkowy. Wariant z rokiem 17 odpowiada literze y, a w kodzie jest Y, czyli rok czterocyfrowy. Kolejność 10, Monday July nie odpowiada zapisowi l, dS F Y, bo nazwa dnia stoi w nim przed dniem miesiąca. Osobna, częsta pomyłka to oczekiwanie polskich nazw dnia i miesiąca – funkcja date zawsze zwraca je po angielsku, niezależnie od ustawień regionalnych serwera, więc żadna odpowiedź z polskim słowem nie mogłaby być wynikiem tego kodu.