symfony1: памятка по форматированию даты

Функция format_date() позволяет получить дату в нужном формате, чтобы ее воспользоваться необходимо подключить хелпер «Date» (DateHelper).

Подключение хелпера:

  1. в файле settings.yml указываем нужные нам хелперы в action
    <pre>
    

    all: .settings: standard_helpers: [Date]

  2. или вызвать функцию
    <?php sfProjectConfiguration::getActive()->loadHelpers('Date'); ?>

Вывод даты функцией format_date() зависит от текущего языка (culture) отображаемой страницы.

Не забываем указывать временную зону:

<?php date_default_timezone_set('Europe/Kiev'); ?>

Шаблоны отображения даты/времени (в качестве аргумента выступает один символ) для русского языка:

  русский английский
d 16.02.10 2/15/10
D 16 февраля 2010 г. February 15, 2010
p 16.02.2010 Feb 15, 2010
P вторник, 16 февраля 2010 г. Monday, February 15, 2010
t 0:16 11:01 PM
T 0:16:21 EET 11:01:31 PM GMT
q 0:16:21 11:01:31 PM
f 16 февраля 2010 г. 0:16 February 15, 2010 11:01 PM
F 16 февраля 2010 г. 0:16:21 EET February 15, 2010 11:01:31 PM GMT
g 16.02.10 0:16 2/15/10 11:01 PM
G 16.02.10 0:16:21 EET 2/15/10 11:01:31 PM GMT
i 2010-02-16 2010-02-15
I 2010-02-16 00:16:21 2010-02-15 23:01:31
m февраля 16 February 15
M февраля 16 February 15
r Вт, 16 февр. 2010 00:16:21 Mon, 15 Feb 2010 23:01:31
R Вт, 16 февр. 2010 00:16:21 Mon, 15 Feb 2010 23:01:31
s 2010-02-16T00:16:21 2010-02-15T23:01:31
u 2010-02-16 00:16:21 EET 2010-02-15 23:01:31 GMT
U вторник 16 февраля 2010 00:16:21 Monday 15 February 2010 23:01:31
y 2010 февраля 2010 February
Y 2010 февраля 2010 February

 

Другие форматы шаблоны для русского языка:

  • Возвращает год
    yy : 10
    yyy : 2010
  • Возвращает месяц
    M : февраля 16
    MM : 02
    MMM : февр.
    MMMM : февраля
  • Возвращает день недели
    E : 2
    EE : В
    EEE : Вт
    EEEE : вторник
  • Возвращает дату в григорианском стиле
    G : 16.02.10 1:22:57 EET
  • Возвращает время 24 формате
    H : 1
    HH : 01
  • Возвращает символьный код интервала суток AM/PM,  до полудня и после
    a : AM
    A : A
  • Возвращает время в 12 формате
    h : 1
    hh : 01
  • Возвращает минуты
    mm : 24
  • Возвращает секунды
    ss : 18
  • Возвращает временную зону от сервера
    z: EET
  • Возвращает день месяца
    FF: 16
  • Возвращает номер недели в году
    w: 07
  • Возвращает номер недели в месяце
    W: 2

Примеры использования format_date():

<?php echo format_date($date, 'MM/dd/yyyy') ?>
<?php echo format_date(time(), 'dddd, dd MMMM yyyy', 'ru') ?>
  • MM/dd/yyyy : 02/16/2010
  • dddd, dd MMMM yyyy : вторник, 16 февраля 2010
  • dddd, dd MMMM yyyy HH:mm:ss : вторник, 16 февраля 2010 01:46:09
  • MMMM dd : февраля 16
  • yyyy-MM-ddTHH:mm:ss : 2010-02-16T01:46:09
  • HH:mm : 01:46
  • HH:mm:ss : 01:46:09
  • yyyy MMMM : 2010 февраля