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,
