Data w języku Polskim
Funkcja date() języka PHP, opisana w artykule Zarządzanie datą i czasem w PHP, wyświetla datę w języku Angielskim (np. 18 March 2012), co więc zrobić, żeby wyświetlić datę w języku Polskim?
Problem ten możemy rozwiązać na dwa sposoby. Określając lokalizację, lub tworząc tablicę z nazwami miesięcy.
Określamy lokalizacje
Zaczniemy od zaprezentowania krótszego rozwiązania:
<?php setlocale(LC_ALL, ''); echo strftime("%A %e %B %Y", time()); ?>
Powyższy kod zwróci nam datę z polskimi nazwami miesięcy. Oczywiście, możemy pobrać również inne elementy daty, według tabelki z artykułu: Zarządzanie datą i czasem w PHP, podstawiając poszczególne litery do funkcji strftime()i poprzedzając je znakiem „%” .
Wadą takiego rozwiązania jest to, że nazwa miesiąca nie jest wyświetlana z uwzględnieniem zasad gramatycznych języka polskiego.
Tworzymy tablicę
Drugim sposobem na wyświetlenie polskiej daty jest stworzenie tablicy, z nazwami miesięcy. Można to zrobić w ten sposób:
<?php $m = array('stycznia','lutego','marca','kwietnia','maja','czerwca','lipca','sierpnia','września','października','listopada','grudnia'); ?> <?php echo date("j") . ' ' . $m[date("n") - 1] . ', ' . date('Y') . ' ' . date("H:i"); ?>
Powyższy kod zwróci nam wynik: 18 marca, 2012 11:18. Jak można zauważyć nazwa miesiąca w tym rozwiązaniu jest zgodna z zasadami gramatycznymi języka polskiego.