XOOPS Brasil

 

Datas

Em geral, sempre envie datas ao Smarty no formato timestamp. Deste modo o desginer do template pode usar o modificador date_format para ter um controle total sobre a formatação da data, e também facilita a comparação de datas se necessário.

Nota: No Smarty 1.4.0, você pode enviar datas ao Smarty no formato unix timestamp, mysql timestamp, ou qualer outra data que possa ser lida pela função strtotime().

Example 18.4. usando date_format


{$startDate|date_format}

    

Irá mostrar:


Jan 4, 2001

    

{$startDate|date_format:"%Y/%m/%d"}

    

Irá mostrar:


2001/01/04

    

{if $data1 < $data2}
   ...
{/if}

    

Quando se está usando {html_select_date} em um template, o programador normalmente vai querer converter a saída de um formulário de volta para o formato timestamp. Abaixo está uma função que irá ajudá-lo à fazer isto.

Example 18.5. Convertendo datas de volta ao formato timestamp


<?php
// presume-se que os elementos de seu formulário são chamados de 
// startDate_Day, startDate_Month, startDate_Year

$startDate = makeTimeStamp($startDate_Year,$startDate_Month,$startDate_Day);

function makeTimeStamp($year="",$month="",$day="")
{
	if(empty($year))
		$year = strftime("%Y");
	if(empty($month))
		$month = strftime("%m");
	if(empty($day))
		$day = strftime("%d");

	return mktime(0,0,0,$month,$day,$year);
}
?>