date_format

Форматирует дату согласно указанному формату strftime(). Даты могут быть переданы Smarty в виде временных меток unix, временных меток mysql или в виде любой строки, содержащей день, месяц и год, которую может обработать функция strtotime(). Дизайнер могут использовать date_format для получения полного контроля над форматированием даты. Если дата, переданная в date_format, пуста и второй аргумент передан, он будет использоваться в качестве даты для форматирования.

Позиция параметра Тип Обязателен По умолчанию Описание
1 string Нет %b %e, %Y Это формат для обрабатываемой даты.
2 string Нет n/a Это дата по умолчанию, если входящее значение пустое.

Note

Начиная со Smarty-2.6.10, числовые значения, передаваемые в date_format, всегда рассматриваются как временная метка unix (кроме временных меток mysql, см. ниже).

До Smarty-2.6.10, числовые строки, которые так же могли быть обработаны функцией strtotime() в php (к примеру, "ГГГГММДД"), иногда - в зависимости от конкретной реализации strtotime() - интерпретировались как строки с датой, а не временные метки.

Единственное исключение - это временные метки mysql: Они так же являются числовыми и состоят из 14 символов ("ГГГГММДДЧЧММСС"). Временные метки mysql имеют более высокий приоритет, чем временные метки unix.

Example 5.8. date_format


<?php

$config['date'] = '%I:%M %p';
$config['time'] = '%H:%M:%S';
$smarty->assign('config',$config);
$smarty->assign('yesterday', strtotime('-1 day'));

?>

   

Шаблон (использует $smarty.now):


{$smarty.now|date_format}
{$smarty.now|date_format:"%D"}
{$smarty.now|date_format:$config.date}
{$yesterday|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:$config.time}

   

Результат обработки:


Feb 6, 2001
02/06/01
02:33 pm
Feb 5, 2001
Monday, February 5, 2001
14:33:00

   

Конверсионные указатели date_format:

Замечание для программистов

date_format является обычной оберткой для функции PHP strftime(). Вы можете располагать больш или меньшим количеством доступных конверсионных указателей в зависимости от функции strftime() той системы, где был скомпилирован PHP. Обратитесь к руководству вашей системы для получения полного списка доступных указателей.

См. также $smarty.now, функция php strftime(), {html_select_date} и даты.