Come regola generale, passate sempre le date a Smarty in forma di timestamp. Questo consente ai progettisti di usare date_format per un pieno controllo sulla formattazione delle date, e rende semplice anche il confronto fra date quando necessario.
Note
A partire da Smarty 1.4.0, potete passare date a Smarty come timestamp unix, timestamp mysql, o qualsiasi altro formato leggibile da strtotime().
Example 18.4. uso di date_format
{$startDate|date_format}
Questo stamperà:
Jan 4, 2001
{$startDate|date_format:"%Y/%m/%d"}
Questo stamperà:
2001/01/04
{if $date1 < $date2} ... {/if}
Quando usate {html_select_date} in un template, il programmatore probabilmente vorrà convertire l'output del modulo in un formato timestamp. Ecco una funzione che può aiutarvi in questo.
Example 18.5. convertire le date provenienti da un modulo in timestamp
<?php // stabiliamo che gli elementi del modulo si chiamino // 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); } ?>