2012-04-10 6 views
0

"今日 - 30日"と定義されている$ start_dateがあります。これをドイツ語表記に変換しようとすると、日付は01として印刷されます。1970年1月10日(2012年3月)ではなく、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

問題は、2番目のパラメータとしてタイムスタンプを期待していますが、(形式「Y-M-D」で)それに文字列を渡しているstrftimeです。だから、UNIXの時代(1970年1月1日)を返しています。

代わりにこれを試してみてください:

$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