@Bombadile

Как вывести дату в определенном формате в зависимости от локали в Yii2 (рус. — дд.мм.гггг и анг. — мм.дд.гггг)?

Требуется вывести дату (например, 10 апреля 2006 года) в определенном формате заданном в конфиге. Русский - 10.04.2006 и английский 4.10.2006.

В конфиге можно задать для форматтера предустановленные шаблоны типа short, medium, long, full. Которые форматируют дату так:
- short: 10.04.06 и 4/10/06;
- medium: 10 апр. 2006 г. и Apr 10, 2006;
- full: понедельник, 10 апреля 2006 г. и Monday, April 10, 2006
- long: 10 апреля 2006 г. и April 10, 2006.

А как задать форматы: 10.04.2006 и 4.10.2006?
  • Вопрос задан
  • 147 просмотров
Пригласить эксперта
Ответы на вопрос 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Если в АПИ и настройках Форматтера не нашли подобную настройку, то полагаю, что можно в коде напрямую делать что-то вроде этого:

if($lang == 'ru') {
  Yii::$app->formatter->asDate('php:d.m.Y');
} else if($lang == 'en') {
  Yii::$app->formatter->asDate('php:m.d.Y');
}

Код сильно упрощен, но идею я передал.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы