У меня есть следующая дата: 18/07/2013
. Я хочу, чтобы он был выпущен в следующем формате 18 июля 2013 года, где July
следует заменить на русское название месяца. Итак, вот что я делаю:
1) Сделайте отметку времени из строки 18/07/2013
.
2) Установить русский язык setlocale(LC_ALL, 'ru_RU.utf-8');
3) Форматировать время с использованием strftime("%d %B %Y", date)
;
Но он выводит 18 July 2013
без замены July
с русским именем на месяц. Что не так?php - как я могу вывести дату в русском языке
ответ
То, что я делал для достижения того же результата на испанском языке, было определение двух массивов, $ шаблонов для имен на английском языке и замену $ с эквивалентными именами на испанском языке и вызов функции preg_replace, передающей их как первый и второй параметры, так и результат форматирования введите третий параметр.
Это функция я построил:
function MonthToSpanish($str, $three = false)
{
$months = array(
'/January/', '/February/', '/March/',
'/April/', '/May/', '/June/', '/July/',
'/August/', '/September/', '/October/', '/November/', '/December/',
'/Jan/', '/Apr/', '/Aug/', '/Dec/',
);
$meses = array(
'Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio',
'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre',
'Ene', 'Abr', 'Ago', 'Dic',
);
$res = preg_replace($months, $meses, $str);
if ($three) {
$res = str_replace('Mayo', 'May', $res);
}
return $res;
}
Надеется, что вы найдете его рода полезный.
Если расширение Intl будет установлена, вы можете использовать MessageFormatter делает свой формат и возможные различия грамматических
Пример: http://php.budgegeria.de/zrffntr-sbeznggre
PHP Doc: http://www.php.net/manual/en/class.messageformatter.php
Если вам не нужны целые предложения Вы также может использовать IntlDateFormatter: http://www.php.net/manual/en/intldateformatter.format.php
- 1. массив поиска на русском языке
- 2. Заявления на русском языке RoK
- 3. Как я могу перевести дату в php?
- 4. Как получить инициалы имени на русском языке - PHP?
- 5. Получить имена дней на русском языке
- 6. Сохраните текст на русском языке в pdf
- 7. Английские слова перенос текста в русском языке
- 8. Число в русском языке Преобразование рельсов
- 9. MySQL - отображение символов на русском языке
- 10. Magento товар обзор заметен на русском языке
- 11. Почему нет файла .traineddata на русском языке
- 12. Django. Мета-приложение на русском языке.
- 13. Python Текущее время на русском языке Предложение
- 14. Код на русском языке о сортировке чисел
- 15. Как я могу рассчитать дату в php
- 16. Как показать дату PHP на турецком языке?
- 17. Как я могу вывести правильную дату с помощью strtotime?
- 18. Как я могу проанализировать дату на другом языке?
- 19. PHP вывести дату из HTML-кода, как?
- 20. Как показывать названия месяцев на русском языке в cakephp
- 21. Некоторые данные SQL на русском языке выводятся символом в конце
- 22. Как удалить локализацию .NET Framework на русском языке?
- 23. PHP - Как я могу округлить дату
- 24. php - не могу получить дату на немецком языке
- 25. XML cdata tgas стирается при наличии ввода на русском языке
- 26. Как я могу вывести значение Ajax в переменную PHP?
- 27. Как я могу вывести свой результат ajax в переменную php?
- 28. Как я могу дату
- 29. Как я могу запросить дату?
- 30. Обучение JMS в Европе на английском или русском языке
Возможный дубликат https://stackoverflow.com/questions/10486658/php-date-international-month-names – reikyoushin
se tlocale(): возвращает новую текущую локаль, __or FALSE, если функциональность языкового стандарта не реализована на вашей платформе__, указанная локаль не существует или имя категории недействительно ... проверяете ли вы возвращаемое значение из setlocale()? –
@MarkBaker, вы правы, он возвращает FALSE. Как проверить, не установлен ли языковой стандарт или неверно имя категории? –