2014-02-09 55 views
5

我試圖用德語顯示日期,但它不起作用。我在XAMPP中使用PHP。php - 無法獲取德語日期

這是我的方法:

function get_Datetime_Now() { 
setlocale (LC_TIME, "de_DE"); 
$tz_object = new DateTimeZone('Europe/Zurich'); 
$datetime = new DateTime(); 
$datetime->setTimezone($tz_object);  
return $datetime->format('l, d. F Y '); 
} 

echo get_Datetime_Now(); 

它返回 「星期日,09. 2014年2月」,但我wan't 「桑塔格,09. Februar 2014」(德語)。

我也試過這樣:

setlocale(LC_TIME, "de_DE"); 
echo strftime("%A, %d. %B %Y"); 

它也返回 「星期日,09. 2014年2月」。我在互聯網上看到了很多例子,這些例子不起作用(至少在我的環境中)。

是否有設置,我應該檢查?

我感謝任何幫助!

Thx提前, 西瓦

+0

您使用的是Windows系統中的任何機會呢? –

+0

如果使用setlocale(LC_TIME,「de_DE.utf8」),該怎麼辦? – Psychokiller1888

+0

XAMPP僅適用於Windows。 –

回答

8

您可能正在使用其在PHP比基於Unix的一個不同的語言代碼的Windows計算機。

嘗試:

setlocale(LC_TIME, 'de_DE', 'deu_deu'); 

這將首先嚐試將其設置爲'de_DE'(的Linux/Unix),並有'deu_deu'代碼作爲後備的Windows(PHP版本> = 4.3)。

Example in the german PHP documentation

+0

嗯,標記爲NooB。 ;)其實在'php.ini'中的N O方式?哇。 ;) – loveNoHate

+0

@dollarvar我沒有說沒有辦法在'php.ini'中設置語言環境。我只是在抱怨,你建議改變'php.ini'而不實際指定應該做什麼改變。 –

+0

是的,我做了第一個,但目的是與日期和一些本地設置,但它是'時區',有-1來自;並張貼,但我發現這篇文章:http:// stackoverflow。 com/questions/5075145/php-locale-configuration-in-php-ini做了一個快速的谷歌並放棄了。 ;)(y) – loveNoHate

1

你可以嘗試:

setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8'); 
echo strftime("%A, %d. %B %Y"); 

工作對我來說

2

我只是發表評論我要感謝Tim Bodeit,如果有人正在設置月份在西班牙,這是工作給我的代碼:

setlocale(LC_TIME, 'es_ES', 'esp_esp');