ProcessWire - Dates: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Ein Datum kann an verschiedenen Stellen auftauchen und wird nicht immer gleich gespeichert. Seiten haben ein created Date und ein modified Date. Außerdem gib…“) |
Steff (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
Ein Datum kann an verschiedenen Stellen auftauchen und wird nicht immer gleich gespeichert. | 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. | + | 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 | DateTime Field datetime field is a Y-m-d H:i:s on database side | ||
| − | Snippets | + | == Snippets == |
| + | === Unformatiertes Datum === | ||
| + | ProcessWire gibt das Datum mit der Funktion getUnformatted("fieldname") das Datum als Timestamp zurück. | ||
| + | $month = date("F", $page->getUnformatted("date")); // where date is your fieldname | ||
| − | $ | + | === Locale setzen === |
| + | 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")); | ||
Version vom 5. Dezember 2018, 18:57 Uhr
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
Unformatiertes Datum
ProcessWire gibt das Datum mit der Funktion getUnformatted("fieldname") das Datum als Timestamp zurück.
$month = date("F", $page->getUnformatted("date")); // where date is your fieldname
Locale setzen
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"));