Dates

De façon générale, essayez de toujours passer les dates à Smarty sous forme de timestamp. Celà permet aux designers de templates d'utiliser date_format pour avoir un contrôle total sur le formatage des dates et de comparer facilement les dates entre elles.

Note : A partir Smarty 1.4.0, vous pouvez passer les dates à Smarty sous la forme de timestamps Unix ou MySQL, ou tout autre format de dates que comprend strtotime().

Exemple 18-4. Utilisation de date_format

{$startDate|date_format}

Affichera :

Jan 4, 2001
{$startDate|date_format:"%Y/%m/%d"}

Affichera :

2001/01/04
{if $date1 < $date2}
   ...
{/if}

En utilisant la fonction {html_select_date} dans un template, le programmeur veut en général convertir le résultat d'un formulaire en un timestamp. Voici une fonction qui devrait vous être utile.

Exemple 18-5. Conversion des éléments date d'un formulaire en timestamp

<?php

// celà suppose que vos éléments de formulaire soient nommés
// 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(000$month$day$year);
}
?>

Voir aussi {html_select_date}, {html_select_time}, date_format et $smarty.now,