date_format

Formate une date / heure au format strftime() donné. Les dates peuvent être passées à smarty en tant que timestamp unix, timestamp mysql ou comme chaîne quelconque contenant mois jour année (interprétable par strtotime()). Les concepteurs de templates peuvent utiliser date_format pour contrôler parfaitement le format de sortie de la date. Si la date passée à date_format est vide, et qu'un second paramètre est donné, ce dernier sera utilisé comme étant la date à formater.

Position du paramètreTypeRequisDéfautDescription
1chaîne de caractèresNon%b %e, %YFormat de sortie de la date.
2chaîne de caractèresNonn/aDate par défaut si aucune n'est spécifiée en entrée.

Note : Depuis Smarty 2.6.10, les valeurs numériques passées à date_format sont toujours (excepté pour les timestamps mysql, voir ci-dessous) interprétées comme un timestamp Unix.

Avant la version 2.6.10 de Smarty, les chaînes numériques qui étaient également analysables par strtotime() en PHP (comme "YYYYMMDD"), étaient, parfois, dépendament de l'implémentation de strtotime(), interprétées en tant que des chaînes date et non des timestamps.

La seule exception est les timestamps MySQL : Ils sont uniquement numériques et d'une longueur de 14 caractères ("YYYYMMDDHHMMSS"). Les timestamps MySQL ont la priorité sur les timestamps Unix.

Exemple 5-8. date_format

<?php

$smarty
->assign('hier'strtotime('-1 day'));

?>

Où le template est (utilisation de $smarty.now) :

{$smarty.now|date_format}
{$smarty.now|date_format:"%D"}
{$smarty.now|date_format:"%I:%M %p"}
{$yesterday|date_format}
{$yesterday|date_format:"%A, %B %e, %Y"}
{$yesterday|date_format:"%H:%M:%S"}

Ce qui donne à l'écran:

Feb 6, 2001
02/06/01
02:33 pm
Feb 5, 2001
Monday, February 5, 2001
14:33:00

Conversion de date_format :

Note aux développeurs : date_format est un alias de la fonction PHP PHP strftime(). Il est probable que vous disposiez de plus ou moins d'options disponibles selon le système sur lequel PHP a été compilé. Reportez-vous à l'aide de votre système pour une liste complète des paramètres disponibles.

Voir aussi $smarty.now, la fonction PHP strftime(), {html_select_date} et les astuces sur les dates.