Smarty bietet die praktische Funktion {html_select_date} (Doku) – mit den verfügbaren Parametern kann man das Ergebnis gut an die eigenen Bedürfnisse anpassen – zum Beispiel an das deutsche Datumsformat mit einem Datum, welches bis zu 5 Jahren in der Zukunft liegen darf – die drei generierten Variablen haben zudem das Prefix „ts_to_“:
[code lang=“html“]
{html_select_date end_year=date(„Y“)+5 prefix=’ts_to_‘ field_order=’DMY‘}
[/code]

Will man die Monatsnamen ebenfalls in deutsch angezeigt bekommen, sollte man in einer zentralen Konfigurationsdatei die Sprache definieren:
[code lang=“html“]
setlocale (LC_ALL, ‚de_DE@euro‘, ‚de_DE‘, ‚de‘, ‚ge‘);
[/code]

Hat man dann zu guter letzt noch Probleme mit der Codierung (z.B. UTF-8) – hilft die Verknüpfung von Funktionen – z.B.:
[code lang=“html“]
{html_select_date|utf8_encode end_year=date(„Y“)+5 prefix=’ts_to_‘ field_order=’DMY‘}
[/code]

Resultieren tut die Eingabe des Users in die Variablen ts_to_Day, ts_to_Month und ts_to_Year (variiert mit dem gewählten Prefix!). Die serverseitige Weitervergabe kann dann zum Beispiel via mktime erfolgen um einen Timestamp zu generieren:
[code lang=“php“]
$timestamp = mktime(0, 0, 0, $_REQUEST[„ts_to_Month“], $_REQUEST[„ts_to_Day“], $_REQUEST[„ts_to_Year“]);
[/code]

There are currently no comments.