PHP Manual

PEAR Manual

Smarty Manual

PostgreSQL

MySQL Manual

Perl Manual

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 :

  • %a - abréviation du jour de la semaine, selon les paramètres locaux.

  • %a - nom du jour de la semaine, selon les paramètres locaux.

  • %b - abréviation du nom du jour, selon les paramètres locaux.

  • %b - nom complet du mois, selon les paramètres locaux.

  • %c - préférences d'affichage selon les paramètres locaux.

  • %c - siècle, (l'année divisée par 100 et tronquée comme un entier, de 00 à 99)

  • %d - jour du mois, en tant que nombre décimal (de 00 à 31)

  • %d - même chose que %m/%d/%y

  • %e - jour du mois en tant que nombre décimal. un chiffre unique est précédé par un espace (de 1 à 31)

  • %g - position de la semaine dans le siècle [00,99]

  • %g - position de la semaine, incluant le siècle [0000,9999]

  • %h - identique à %b

  • %h - l'heure en tant que décimale, en utilisant une horloge sur 24 (de 00 à 23)

  • %i - l'heure en tant que décimale en utilisant une horloge sur 12 (de 01 to 12)

  • %j - jour de l'année (de 001 à 366)

  • %k - heure (horloge sur 24). les numéros à un chiffre sont précédés d'un espace. (de 0 à 23)

  • %l - heure (horloge sur 12). les numéros à un chiffre sont précédés d'un espace. (de 1 à 12)

  • %m - mois en tant que nombre décimal (de 01 à 12)

  • %m - minute en tant que nombre décimal

  • %n - retour chariot (nouvelle ligne).

  • %p - soit am soit pm selon l'heure donnée, ou alors leurs correspondances locales.

  • %r - heure en notation a.m. et p.m.

  • %r - heure au format 24 heures

  • %s - secondes en tant que nombre décimal.

  • %t - caractère tabulation.

  • %t - heure courante, équivalent à %h:%m:%s

  • %u - jour de la semaine en tant que nombre décimal [1,7], ou 1 représente le lundi.

  • %u - le numéro de la semaine en nombre décimal, utilisant le premier dimanche en tant que premier jour de la première semaine.

  • %v - le numéro de la semaine de l'année courante selon la norme iso 8601:1988, de 01 à 53, ou la semaine 1 est la première semaine qui dispose au minimum de 4 jours dans l'année courante et ou lundi est le premier jour de cette semaine.

  • %w - jour de la semaine en tant que nombre décimal, dimanche étant 0

  • %w - le numéro de la semaine de l'année courante en tant que nombre décimal, ou lundi est le premier jour de la première semaine.

  • %x - représentation préférée de la date selon les paramètres locaux.

  • %x - représentation préférée de l'heure selon les paramètres locaux, sans la date.

  • %y - l'année en tant que nombre décimal, sans le siècle. (de 00 à 99)

  • %y - l'année en tant que nombre décimal, avec le siècle.

  • %z - zone horraire, nom ou abréviation

  • %% - un caractère litéral `%'

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.