2012-05-07 20 views

cevap

8

Tarih dizesinin yerelleştirilmiş bir sürümünü edinmek için setlocale ve strftime kullanın. PHP Dokümanlarınızdan

Örnek - 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

Ancak ['setlocale' yerel süreci genişletir] (http://php.net/manual/en/function.setlocale.php#refsect1-function.setlocale-notes) (kullanırken birden çok iş parçacığıyla beklenmedik davranışa neden olur)) çoklu iş parçacığı. İş parçacığı güvenli alternatif: [IntlDateFormatter] (http://php.net/manual/en/class.intldateformatter.php) – Matmarbon

2

yüzeysel, strftime et setlocale kullanmaktadır.

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

Fais dikkatinin utiliser la versiyonu utf-8 si tu une sorti unicode, Sinon la versiyonunu katılır normale te donnera du iso-8859-1 (5).

İngilizcenin geri kalanı için İngilizce, strftime yerel ayarlara saygı duyar ve glibc (arka planda) kullanır. date her zaman strftime numaralı İngilizceye dönecekse setlocale'a saygı gösterecek ve dilinizde beklenen çıktıyı verecektir.

+17

İngiliz ediniz. Bu bir ** ingilizce ** sitesidir ... – Neal

+0

Ah, beni de yendi! –

+0

fransızca pardon, çok cazipti. – greut

İlgili konular