0

「今日 - 30 日」として定義されている $start_date があります。これをドイツ語表記に変換しようとすると、日付は 1970 年 1 月 10 日 (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);
4

1 に答える 1

0

問題はstrftime、2 番目のパラメーターとしてタイムスタンプが予期されていることですが、それに文字列を ("Ymd" の形式で) 渡しています。したがって、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

于 2012-04-10T15:47:48.853 に答える