Um dem Template Designer höchstmögliche Kontrolle über die Ausgabe von Zeitangaben/Daten zu ermöglichen, ist es empfehlenswert Daten immer als Timestamp zu übergeben. Der Designer kann danach die Funktion date_format für die Formatierung verwenden.
Bemerkung: Seit Smarty 1.4.0 ist es möglich jede Timestamp zu übergeben, welche mit strtotime() ausgewertet werden kann. Dazu gehören Unix-Timestamps und MySQL-Timestamps.
Example 18.4. Die Verwendung von date_format
{$startDate|date_format}
AUSGABE:
Jan 4, 2001
{$startDatum|date_format:"%Y/%m/%d"}
AUSGABE:
2001/01/04
{if $datum1 < $datum2} ... {/if}
Falls {html_select_date} in einem Template verwendet wird, hat der Programmierer die Möglichkeit den Wert wieder in ein Timestamp-Format zu ändern. Dies kann zum Beispiel wie folgt gemacht werden:
Example 18.5. Formular Datum-Elemente nach Timestamp konvertieren
<?php // hierbei wird davon ausgegangen, dass Ihre Formular Elemente wie folgt benannt sind // 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); }
Siehe auch {html_select_date}, {html_select_time}, date_format und $smarty.now,