date_format

Posição do Parâmetro Tipo Requerido Padrão Descrição
1 string Não %b %e, %Y Este é o formato para a data mostrada.
2 string Não n/a Esta é a data padrão se a entrada estiver vazia.

Isto formata a data e hora no formato strftime() indicado. Datas podem ser passadas para o Smarty como timestamps unix, timestamps mysql, ou qualquer string composta de mês dia ano(interpretavel por strtotime). Designers podem então usar date_format para ter um controle completo da formatação da data. Se a data passada para date_format estiver vazia e um segundo parâmetro for passado, este será usado como a data para formatar.

Exemplo 5-8. date_format

index.php:
$smarty = new Smarty;
$smarty->assign('yesterday', strtotime('-1 day'));
$smarty->display('index.tpl');
index.tpl:
{$smarty.now|date_format}
{$smarty.now|date_format:"%A, %B %e, %Y"}
{$smarty.now|date_format:"%H:%M:%S"}
{$yesterday|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}
MOSTRA:
Feb 6, 2001
Tuesday, February 6, 2001
14:33:00
Feb 5, 2001
Monday, February 5, 2001
14:33:00

Exemplo 5-9. date_format conversion specifiers

%a - nome do dia da semana abreviado de acordo com o local atual
%A - nome do dia da semana inteiro de acordo com o local atual
%b - nome do mês abreviado de acordo com o local atual
%B - nome do mês inteiro de acordo com o local atual
%c - representação preferencial de data e hora para o local atual
%C - ano com dois dígitos (o ano dividido por 100 e truncado para um inteiro, intervalo de 00 a 99)
%d - dia do mês como um número decimal (intervalo de 00 a 31)
%D - o mesmo que %m/%d/%y
%e - dia do mês como um número decimal, um único dígito é precedido por um espaço (intervalo de 1 a 31)
%g - ano baseado na semana, sem o século [00,99]
%G - ano baseado na semana, incluindo o século [0000,9999]
%h - o mesmo que %b
%H - hora como um número decimal usando um relógio de 24 horas (intervalo de 00 a 23)
%I - hora como um número decimal usando um relógio de 12 horas (intervalo de 01 a 12)
%j - dia do ano como um número decimal (intervalo de 001 a 366)
%k - hora (relógio de 24 horas) digítos únicos são precedidos por um espaço em branco (intervalo de 0 a 23)
%l - hora como um número decimal usando um relógio de 12 horas, digítos unicos são precedidos por um espaço em branco (intervalo de 1 a 12)
%m - mês como número decimal (intervalo de 01 a 12)
%M - minuto como um número decimal
%n - caractere de nova linha 
%p - ou `am' ou `pm' de acordo com o valor de hora dado, ou as strings correspondentes ao local atual 
%r - hora na notação a.m. e p.m. 
%R - hora na notação de 24 horas
%S - segundo como número decimal 
%t - caractere tab 
%T - hora atual, igual a %H:%M:%S 
%u - dia da semana como um número decimal [1,7], com 1 representando segunda-feira 
%U - número da semana do ano atual como um número decimal, começando com o primeiro domingo como primeiro dia da primeira semana 
%V - número da semana do ano atual como um número decimal de acordo com The ISO 8601:1988,
intervalo de 01 a 53, aonde a semana 1 é a primeira semana que tenha pelo menos quatro dias no ano atual, sendo domingo o primeiro dia da semana. 
%w - dia da semana como decimal, domingo sendo 0 
%W - número da semana do ano atual como número decimal, começando com a primeira segunda como primeiro dia da primeira semana 
%x - representação preferencial da data para o local atualsem a hora 
%X - representação preferencial da hora para o local atual sem a data 
%y - ano como número decimal sem o século (intervalo de 00 a 99) 
%Y - ano como número decimal incluindo o século 
%Z - zona horária ou nome ou abreviação 
%% - um caractere `%' 
NOTA PARA PROGRAMADORES: date_format é essencialmente um wrapper para a função strftime() do PHP.
Você deverá ter mais ou menos especificadores de conversão disponíveis de acordo com a 
função strftime() do sistema operacional aonde o PHP foi compilado. De uma olhada na página de manual do seu sistema para uma lista completa dos especificadores válidos.