Форматирование даты в Symfony (русский, кириллица)

февраля
01
2012
Метки: format date symfony

В Symfony имеется очень удобный помощник DateHelper, который можно использовать для форматирования даты. Одна из наиболее используемых функций этого класса - это format_date(). В этой статье Вы найдете обзор парметров, принимаемых функцией, а также будут приведены результаты выполнения format_date с разнообразными параметрами.

Внимание! Для использования format_date() необходимо подключить помощник Date. В шаблонах (templates) это делается следующим образом: use_helper('Date'), в дейстиях (actions) - sfProjectConfiguration::getActive()->loadHelpers('Date').

Функция format_date принимает четыре параметра:


function format_date($date, $format = 'd', $culture = null, $charset = null){
...
}

где,

Ниже представлен простой пример использования функции format_date:


<?php
  use_helper('Date');
  echo format_date(time());
  // 27.01.12  если локализация по умолчанию 'ru'
  // 1/27/12   если локализация по умолчанию 'en'
?>

Есть много различных параметров, которые можно использовать для форматирования даты. Ниже приведен список наиболее используемых параметров для форматирования даты:

Локализация: en

Локализация: ru

Например,


<?php
  use_helper('Date');
  echo format_date( time(), 't') ; // выведет 12:54
?>

С помощью предыдущих параметров происходит форматирование даты в соответствии с внутренними шаблонами операционной системы. Если эти параметры не соответствуют Вашим потребностям, Вы можете самостоятельно задать формат даты, используя комбинацию из следующих параметров:

Год:

Месяц:

День недели:

День месяца:

Эра:

Часы в 24-часовом формате:

AM/PM указатель:

Время в 12-часовом формате:

Минуты:

Секунды:

Часовой появ (параметр машины):

День в году:

День в месяце:

Неделя в году:

Неделя в месяце:

Количество часов в 24-часовом формате:

Количество часов в 12-часовом формате:

Например, следующий код может вывести "2/5/10/н.э./33/2/40/10 " в русской локализации:


<?php
  use_helper('Date');
  echo format_date(time(), 'M/E/d/G/m/s/D/F' );
?>

Напишите первое сообщение!

Вы должны войти под своим аккаунтом чтобы оставлять комментарии