「今日 - 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);