|
|

|
date_format
Форматирует дату согласно указанному формату
strftime().
Даты могут быть переданы Smarty в виде
временных меток unix,
временных меток mysql или в виде любой строки, содержащей день, месяц и
год, которую может обработать функция
strtotime().
Дизайнер могут использовать date_format для получения полного контроля
над форматированием даты. Если дата, переданная в
date_format, пуста и второй аргумент передан, он будет
использоваться в качестве даты для форматирования.
Замечание:
Начиная со Smarty-2.6.10, числовые значения, передаваемые в date_format,
всегда рассматриваются как временная метка unix
(кроме временных меток mysql, см. ниже).
До Smarty-2.6.10, числовые строки, которые так же могли быть обработаны
функцией strtotime() в php (к примеру, "ГГГГММДД"), иногда -
в зависимости от конкретной реализации strtotime() - интерпретировались
как строки с датой, а не временные метки.
Единственное исключение - это временные метки mysql: Они так же
являются числовыми и состоят из 14 символов ("ГГГГММДДЧЧММСС").
Временные метки mysql имеют более высокий приоритет, чем временные
метки unix.
Пример 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:
%a - сокращенное название дня недели, в зависимости от текущей локали
%A - полное название дня недели, в зависимости от текущей локали
%b - сокращенное название месяца, в зависимости от текущей локали
%B - полное название месяца, в зависимости от текущей локали
%c - формат даты и времени по умолчанию для текущей локали
%C - номер века (год, деленный на 100, представленный в виде целого в промежутке от 00 до 99)
%d - день месяца в десятичном формате (от 01 до 31)
%D - синоним %m/%d/%y
%e - день месяца в десятичном формате без ведущего нуля (от 1 до 31)
%g - Week-based year within century [00,99]
%G - Week-based year, including the century [0000,9999]
%h - синоним %b
%H - часы по 24-часовым часам (от 00 до 23)
%I - часы по 12-часовым часам (от 01 до 12)
%j - день года (от 001 до 366)
%k - часы по 24-часовым часам без ведущего нуля (от 0 до 23)
%l - часы по 12-часовым часам без ведущего нуля (от 1 до 12)
%m - номер месяца (от 01 до 12)
%M - минуты
%n - символ новой строки
%p - `am' или `pm', в зависимости от заданного формата времени и текущей локали.
%r - time in a.m. and p.m. notation
%R - time in 24 hour notation
%S - секунды
%t - символ табуляции
%T - время в формате %H:%M:%S
%u - номер дня недели [1,7], где 1-ый день - понедельник
%U - номер недели в году, считая первое воскресенья года первым днем первой недели
%V - номер недели в году (по ISO 8601:1988) в диапазоне от 01 до 53, где первая неделя
та, у которой хотя бы 4 дня находятся в данном году. Понедельник считается
первым днем недели.
%w - номер дня недели, где 0 - воскресенье
%W - номер недели в году, считаю первый понедельник первым днем первой недели.
%x - предпочтительное представление даты для текущих настроек locale без времени
%X - предпочтительное представление времени для текущих настроек locale без даты
%y - год в виде десятичного числа без века (от 00 до 99)
%Y - год в виде десятичного числа включая век
%Z - часовой пояс или имя или сокращение
%% - буквальный символ `%'
Замечание для программистов:
date_format является обычной оберткой для функции
PHP strftime().
Вы можете располагать больш или меньшим количеством
доступных конверсионных указателей в зависимости от функции
strftime() той системы,
где был скомпилирован PHP. Обратитесь к руководству вашей системы для
получения полного списка доступных указателей.
См. также
$smarty.now,
функция php strftime(),
{html_select_date}
и
даты.
|
|
|