Форматирование даты в Symfony (русский, кириллица)
Symfony
lock
1 февраля 2012 г. 12:13
В 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){
...
}
где,
- date - дата, которую нужно отформатировать;
- format - формат даты, который вы хотите использовать;
- culture - локализация для форматирования даты ('en', 'ru', 'uk' и т.д);
- charset - кодировка ('utf-8', 'cp1251' и т.д.)
Ниже представлен простой пример использования функции format_date:
<?php
use_helper('Date');
echo format_date(time());
// 27.01.12 если локализация по умолчанию 'ru'
// 1/27/12 если локализация по умолчанию 'en'
?>
Есть много различных параметров, которые можно использовать для форматирования даты. Ниже приведен список наиболее используемых параметров для форматирования даты:
Локализация: en
- d: 1/27/12
- D: January 27, 2012
- p: Jan 27, 2012
- P: Friday, January 27, 2012
- t: 12:52 PM
- T: 12:52:44 PM EET
- q: 12:52:44 PM
- Q: 12:52:44 PM EET
- f: January 27, 2012 12:52 PM
- F: January 27, 2012 12:52:44 PM EET
- g: 1/27/12 12:52 PM
- G: 1/27/12 12:52:44 PM EET
- i: 2012-01-27
- I: 2012-01-27 12:52:44
- M: January 27
- m: January 27
- R: Fri, 27 Jan 2012 12:52:44
- r: Fri, 27 Jan 2012 12:52:44
- s: 2012-01-27T12:52:44
- u: 2012-01-27 12:52:44 EET
- U: Friday 27 January 2012 12:52:44
- Y: 2012 January
- y: 2012 January
Локализация: ru
- d: 27.01.12
- D: 27 января 2012 г.
- p: 27.01.2012
- P: пятница, 27 января 2012 г.
- t: 12:54
- T: 12:54:22 EET
- q: 12:54:22
- Q: 12:54:22 EET
- f: 27 января 2012 г. 12:54
- F: 27 января 2012 г. 12:54:22 EET
- g: 27.01.12 12:54
- G: 27.01.12 12:54:22 EET
- i: 2012-01-27
- I: 2012-01-27 12:54:22
- M: января 27
- m: января 27
- R: Пт, 27 янв. 2012 12:54:22
- r: Пт, 27 янв. 2012 12:54:22
- s: 2012-01-27T12:54:22
- u: 2012-01-27 12:54:22 EET
- U: пятница 27 января 2012 12:54:22
- Y: 2012 января
- y: 2012 января
Например,
<?php
use_helper('Date');
echo format_date( time(), 't') ; // выведет 12:54
?>
С помощью предыдущих параметров происходит форматирование даты в соответствии с внутренними шаблонами операционной системы. Если эти параметры не соответствуют Вашим потребностям, Вы можете самостоятельно задать формат даты, используя комбинацию из следующих параметров:
Год:
- yy: 12 // последние 2 цифры года
- yyyy: 2012 // год полностью
Месяц:
- M: 2 // номер месяца без лидирующих нулей
- MM: 02 // номер месяца
- MMM: февр. // четырех буквенное сокращение месяца в русской локализации и трех буквенное - в английской (Feb)
- MMMM: февраля // полное название месяца (в английской локализации - February)
День недели:
- E: 5 // 1 - понедельник, 7 - воскресенье
- EE: П // одно буквенное сокращения дня недели (в английской локализации - F)
- EEE: Пт // двух буквенное сокращение дня недели (в английской локализации - трех буквенное Fri)
- EEEE: пятница // день недели полностью (в английской локализации - Friday)
День месяца:
- d: 9 // день месяца без лидирующих нулей
- dd: 09 // день месяца с лидирующими нулями
- dddd: пятница (в английской локализации - Friday)
Эра:
- G: н.э. // в английской локализации - AD и BC
Часы в 24-часовом формате:
- H: 3 // часы без лидирующих нулей
- HH: 03 // часы с лидирующими нулями
AM/PM указатель:
Время в 12-часовом формате:
- h: 1 // часы без лидирующих нулей
- hh: 01 // часы с лидирующими нулями
Минуты:
- m: 9 // минуты без лидирующих нулей
- mm: 09 // минуты с лидирующими нулями
Секунды:
- s: 7 // секунды без лидирующих нулей
- ss: 07 // секунды с лидирующими нулями
Часовой появ (параметр машины):
День в году:
День в месяце:
- F: 9 // день месяца без лидирующих нулей
- FF: 09 // день месяца с лидирующими нулями
Неделя в году:
Неделя в месяце:
Количество часов в 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' );
?>
Напишите первое сообщение!
Вы должны войти под своим аккаунтом чтобы оставлять комментарии