ProcessWire - Dates
Ein Datum kann an verschiedenen Stellen auftauchen und wird nicht immer gleich gespeichert.
Seiten haben ein created Date und ein modified Date.
Außerdem gibt es einen Fieldtype für Daten. Dieser speichert das Datum als String.
DateTime Field datetime field is a Y-m-d H:i:s on database side
Snippets[Bearbeiten]
Unformatiertes Datum[Bearbeiten]
ProcessWire gibt das Datum mit der Funktion getUnformatted("fieldname") das Datum als Timestamp zurück. Dies entspricht etwa der PHP Funktion strtotime()
$month = date("F", $page->getUnformatted("date")); // where date is your fieldname
Locale setzen[Bearbeiten]
In der config.php kann man die Sprache für die PHP Ausgabe setzen, so dass PHP Monatsnamen und Wochentage in der richtigen Sprache ausgibt. Achtung das hat nichts mit dem Sprachhandling über das language Modul zu tun.
Bei installiertem Language Support die Sprachausgabe im Modul setzen die Angabe in der config funktioniert dann nicht mehr.
Die dritte Möglichkeit ist die Ausgabe direkt im Template zu regeln. Das kann mit PHP Methoden erfolgen.
Siehe auch PHP - Date
config.php <syntaxhighlight lang="php">
$config->timezone = 'Europe/Berlin'; setlocale(LC_ALL, 'de_DE.UTF-8');
</syntaxhighlight
And finally use this to output the date in template:
echo strftime("%e %B %Y", $page->getUnformatted("date"));