2012-04-10 26 views
0

我有一個定義爲「今天 - 30天」的$ start_date。當試圖將其轉換爲德語符號時,日期打印爲01. 1970年1月(而不是2012年3月10日)我理解這意味着Unix將結果解釋爲「0」,但我無法弄清楚我做錯了什麼。使用德語格式化縮減日期

$start_date = date("Y-m-d", strtotime("-30 days")); 
setlocale(LC_TIME, 'de_DE'); 
$start_date_DE = strftime('%d. %B %Y',$start_date); 

回答

0

的問題是strftime預計時間戳作爲第二個參數,但你傳遞一個字符串,它(格式爲「Y-M-d」)。所以它返回UNIX紀元(1/1/1970)。

試試這個:

$start_date = strtotime("-30 days"); 
setlocale(LC_TIME, 'de_DE'); 
$start_date_DE = strftime('%d. %B %Y',$start_date); 

http://codepad.org/pK9J07Wm

+0

啊 - 當然。謝謝! – user1291842 2012-04-10 15:52:21