[PHP] Data po polsku
W języku PHP wyświetlić datę po polsku można na kilka sposobów. W tym artykule przedstawię dwie proste, a zarazem użyteczne metody. Pierwsza z nich będzie wykorzystywała dostępną w PHP funkcję str_replace, druga zaś będzie opierała się tylko na tablicy wielowymiarowej.
Data po polsku z użyciem funkcji str_replace
Pierwszy sposób to typowa podmiana ciągów skróconych nazw miesięcy i dni z angielskich na polskie. Funkcja w przykładzie jako argument przyjmuje nazwę dnia tygodnia lub nazwę miesiąca w formie słownej-skróconej i zamienia ją na pełną nazwę w języku polskim.
- Argument dla nazwy dnia tygodnia: date('D')
- Argument dla nazwy miesiąca: date('M')
function date_pl($string)
{
$string = str_replace('Mon', 'poniedziałek', $string);
$string = str_replace('Tue', 'wtorek', $string);
$string = str_replace('Wed', 'środa', $string);
$string = str_replace('Thu', 'czwartek', $string);
$string = str_replace('Fri', 'piątek', $string);
$string = str_replace('Sat', 'sobota', $string);
$string = str_replace('Sun', 'niedziela', $string);
$string = str_replace('Jan', 'styczeń', $string);
$string = str_replace('Feb', 'luty', $string);
$string = str_replace('Mar', 'marzec', $string);
$string = str_replace('Apr', 'kwiecień', $string);
$string = str_replace('May', 'maj', $string);
$string = str_replace('Jun', 'czerwiec', $string);
$string = str_replace('Jul', 'lipiec', $string);
$string = str_replace('Aug', 'sierpień', $string);
$string = str_replace('Sep', 'wrzesień', $string);
$string = str_replace('Oct', 'październik', $string);
$string = str_replace('Nov', 'listopad', $string);
$string = str_replace('Dec', 'grudzień', $string);
return $string;
}
Przykładowe wywołanie funkcji date_pl:
<?php
echo 'Dziś jest ' . date_pl(date('D'));
echo 'Aktualny miesiąc: ' . date_pl(date('M'));
Sposób z użyciem tablicy wielowymiarowej
Kolejnym sposobem na wyświetlenie daty po polsku są tablice. Przykład poniżej wszystko obrazuje. Tworzymy tablicę "date" z indeksami pierwszego poziomu - days oraz months, a następnie przypisujemy im odpowiednio dla danego indeksu nazwy dni tygodnia oraz nazwy miesięcy. Ważne, aby indeksy tablicy z nazwami ponumerować od 1. Gotowa tablica powinna wyglądać jak poniżej:
>?php
$date['days'][1] = 'poniedziałek';
$date['days'][2] = 'wtorek';
$date['days'][3] = 'środa';
$date['days'][4] = 'czwartek';
$date['days'][5] = 'piątek';
$date['days'][6] = 'sobota';
$date['days'][7] = 'niedziela';
$date['months'][1] = 'styczeń';
$date['months'][2] = 'luty';
$date['months'][3] = 'marzec';
$date['months'][4] = 'kwiecień';
$date['months'][5] = 'maj';
$date['months'][6] = 'czerwiec';
$date['months'][7] = 'lipiec';
$date['months'][8] = 'sierpień';
$date['months'][9] = 'wrzesień';
$date['months'][10] = 'październik';
$date['months'][11] = 'listopad';
$date['months'][12] = 'grudzień';
Aby wyświetlić aktualną nazwę dnia tygodnia lub nazwę bieżącego miesiąca, należy jako drugi klucz tablicy "date" podać aktualny dzień/miesiąc w formie cyfrowej (bez wiodącego zera) jak poniżej:
>?php $today = date('N');
// aktualny dzień tygodnia w formie cyfrowej$month = date('n');
// bieżący miesiąc w formie cyfrowejecho "Dziś jest {$date['days'][$today]}"; echo "Bieżący miesiąc to {$date['months'][$month]}";
Komentarze
Prześlij komentarz
Dzięki za komentarz!