2012-05-07 23 views

Odpowiedz

8

Użyj setlocale i strftime, aby uzyskać zlokalizowaną wersję ciągu daty.

Przykład z PHP Docs - http://php.net/manual/en/function.setlocale.php:

/* Set locale to Dutch */ 
setlocale(LC_ALL, 'nl_NL'); 

/* Output: vrijdag 22 december 1978 */ 
echo strftime("%A %e %B %Y", mktime(0, 0, 0, 12, 22, 1978)); 

/* try different possible locale names for german as of PHP 4.3.0 */ 
$loc_de = setlocale(LC_ALL, '[email protected]', 'de_DE', 'de', 'ge'); 
echo "Preferred locale for german on this system is '$loc_de'"; 
+3

Ale zauważ, że ['setlocale' ustawia szeroki proces ustawień narodowych] (http://php.net/manual/en/function.setlocale.php#refsect1-function.setlocale-notes) (powodując nieoczekiwane zachowanie z wieloma wątkami podczas używania wielowątkowość). Bezpieczna alternatywa dla wątków: [IntlDateFormatter] (http://php.net/manual/en/class.intldateformatter.php) – Matmarbon

2

Facile, wykorzystują strftime et setlocale.

setlocale(LC_ALL, 'fr_FR.utf-8'); // ou LC_TIME 
echo strftime('%A'); 
"lundi" 

Fais przyciągnąć uwagę utiliser la wersja UTF-8 Si Tu uczestniczy une unicode sortie, sinon, la wersji standardowy Te donnera du ISO 8859-1 (5).

W języku angielskim dla reszty społeczności, strftime przestrzega zestawu ustawień narodowych i używa glibc (w tle). Jeśli date zawsze zwróci angielski strftime, będzie respektowany setlocale i wyświetli oczekiwany wynik w twoim języku.

+17

English proszę. to jest ** angielski ** strona ... – Neal

+0

Ah, bij mnie za to! –

+0

Ułagodzenie mojego francuskiego, to było takie kuszące. – greut