2012-04-10 3 views
0

У меня есть $ start_date, который определяется как «сегодня - 30 дней». Когда вы пытаетесь преобразовать это в немецкую нотацию, дата печатается как 01. Januar 1970 (вместо 10. марта 2012 года) Я понимаю, что 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-м-д»). Таким образом, он возвращает эпоху 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

Ahh - конечно. Благодаря! – user1291842