Привет, у меня есть формат даты, подобный этому
(в английском формате)
15. July 2011 
И я хочу преобразовать его в немецкий формат, как это
 15. Juli 2011 
Как преобразовать формат даты из одного языка в другой формат?
Мой код
  $date = '15. July 2011'; $newLocale = setlocale(LC_TIME, 'de_DE'); $date = strftime('%d. %B %Y',$date); 
  Но это не преобразование. Я получаю July а не Juli 
  Вы можете использовать функцию setlocale перед вызовом функции date : 
 $newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8'); 
  EDIT: Цитата из strftime docs: 
Этот пример будет работать, если в вашей системе установлены соответствующие локали.
Если у вас установлено расширение интернационализации , вы можете использовать класс IntlDateFormatter .
Он действительно достаточно мощный и фактически отображает дату и время в правильном формате для локали, на которую вы нацеливаетесь.
Например, для Германии может быть:
 // create format $fmt = datefmt_create("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN); // output (using current time) echo datefmt_format($fmt , time()); 
Какие результаты:
Dienstag, 29. ноября 2011 г.