Zum Inhalt springen

Hilfe:Vorlagenprogrammierung/Parserfunktionen/Datum und Zeit

Aus Wikonia

Datum- und Zeitfunktionen liefern Werte für Anzeige und einfache Vergleiche im Wikitext. Wichtig: Viele dieser Werte sind cache-abhängig und ändern sich nicht zwingend sofort auf einer bereits gespeicherten Seite.


Cache und Aktualisierung[Bearbeiten | Quelltext bearbeiten]

Viele Zeitwerte werden beim Rendern der Seite berechnet und anschließend aus dem Cache ausgeliefert. Das bedeutet: Eine Seite kann auch nach Mitternacht noch „gestern“ anzeigen, bis sie neu gerendert wird. Aus diesem Grund sind Zeitfunktionen innerhalb des Parsers lediglich für Formatierungen und einfachere Funktionen geeignet. Zielgerichtete Überprüfungen sind nur mit live ausgeführten Methoden, wie JavaScript oder Erweiterungen in PHP möglich.

#time – Datum und Zeit formatieren[Bearbeiten | Quelltext bearbeiten]

Die Parserfunktion formatiert einen Zeitpunkt nach einem Formatstring und gibt den formatierten Text zurück.

Funktion Parameter Optionale Parameter
#time Format Zeitpunkt Sprache / Zeitzone

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

#time formatiert einen Zeitpunkt anhand eines Formatstrings. Wird kein Zeitpunkt angegeben, wird die aktuelle Serverzeit verwendet.


Beispiele[Bearbeiten | Quelltext bearbeiten]

{{#time: Y-m-d }}

Gibt das aktuelle Datum im Format YYYY-MM-DD aus (Serverzeit).

{{#time: d.m.Y | 2026-01-04 }}

Formatiert einen expliziten Zeitpunkt.

{{#time: H:i | now }}

Formatiert „jetzt“ (Serverzeit).

Format-Parameter[Bearbeiten | Quelltext bearbeiten]

Die hier aufgelisteten Parameter dienen zur Angabe des Formats für die Funktionen #time und #timel

Format Ausgabe (Beispiel) Erklärung
Y 2026 Jahr, vierstellig
y 26 Jahr, zweistellig
m 01 Monat mit führender Null
n 1 Monat ohne führende Null
F Januar Monatsname ausgeschrieben (lokalisiert)
M Jan Monatsname abgekürzt (lokalisiert)
d 04 Tag des Monats mit führender Null
j 4 Tag des Monats ohne führende Null
H 19 Stunde (00–23)
i 07 Minute (00–59)
s 30 Sekunde (00–59)
W 01 Kalenderwoche (ISO-8601)
N 1 Wochentag als Zahl (1=Montag, 7=Sonntag)
w 0 Wochentag als Zahl (0=Sonntag, 6=Samstag)
z 3 Tag des Jahres (0–365)
t 31 Anzahl der Tage im aktuellen Monat
c 2026-01-04T19:07:30+01:00 ISO-8601 Datum/Zeit
U 1704397650 Unix-Timestamp
Info:Hinweis: Zeichen, die kein Formatparameter sind (z. B. -, :, .), werden unverändert ausgegeben. Einzelne Zeichen können mit \ maskiert werden, um sie als Literal zu erzwingen.


#timel – Lokale Zeit formatieren[Bearbeiten | Quelltext bearbeiten]

#timel entspricht funktional #time, bezieht sich jedoch auf die lokale Zeitzone (statt reiner Serverzeit).

Funktion Parameter Optionale Parameter
#timel Format Zeitpunkt Sprache / Zeitzone

Funktionsweise[Bearbeiten | Quelltext bearbeiten]

#timel arbeitet wie #time, verwendet jedoch die lokale Zeitzone. Es werden die gleichen Format-Parameter genutzt. Das ist insbesondere dann relevant, wenn Serverzeit und Projekt-/Benutzerzeit voneinander abweichen.


Beispiele[Bearbeiten | Quelltext bearbeiten]

{{#timel: Y-m-d H:i }}

Gibt Datum und Uhrzeit in lokaler Zeitzone aus.

Typische Fehler und Besonderheiten[Bearbeiten | Quelltext bearbeiten]

Auch hier gilt: Zeitwerte können cache-abhängig sein.

Magische Wörter: CURRENT (Serverzeit)[Bearbeiten | Quelltext bearbeiten]

Magisches Wort Ausgabe (Beispiel) Erklärung
{{CURRENTYEAR}} 2026 Aktuelles Jahr (Serverzeit)
{{CURRENTMONTH}} 01 Monat als Zahl mit führender Null
{{CURRENTMONTHNAME}} Januar Monatsname (lokalisiert)
{{CURRENTDAY}} 4 Tag des Monats ohne führende Null
{{CURRENTDAY2}} 04 Tag des Monats mit führender Null
{{CURRENTHOUR}} 19 Stunde (00–23)
{{CURRENTMINUTE}} 07 Minute (00–59)
{{CURRENTTIME}} 1907 Uhrzeit als HHMM
{{CURRENTTIMESTAMP}} 20260104190730 Timestamp als YYYYMMDDHHMMSS (gut für Vergleiche)
{{CURRENTDAYNAME}} Montag Name des Wochentags (lokalisiert)
{{CURRENTDOW}} 1 Wochentag als Zahl (1=Montag, 7=Sonntag)
{{CURRENTWEEK}} 01 Kalenderwoche
{{CURRENTDAYOFYEAR}} 4 Tag des Jahres (1–366)
{{CURRENTMONTHABBREV}} Jan Monatsname abgekürzt (lokalisiert)
{{CURRENTMONTHNAMEGEN}} Januar Monatsname im Genitiv (sprachabhängig)
{{CURRENTSECOND}} 30 Sekunde (00–59)
{{CURRENTTZ}} CET Aktive Zeitzone (Server/Projekt)
Hinweis:CURRENT-Werte sind häufig cache-abhängig und aktualisieren sich nicht zwingend sofort auf bereits gespeicherten Seiten. → Siehe: Hilfe:Cache

Magische Wörter: LOCAL (Benutzer-/Projektzeit)[Bearbeiten | Quelltext bearbeiten]

Magisches Wort Ausgabe (Beispiel) Erklärung
{{LOCALYEAR}} 2026 Jahr in lokaler/benutzerspezifischer Zeitzone
{{LOCALMONTH}} 01 Monat als Zahl mit führender Null
{{LOCALMONTHNAME}} Januar Monatsname (lokalisiert)
{{LOCALDAY}} 4 Tag des Monats ohne führende Null
{{LOCALDAY2}} 04 Tag des Monats mit führender Null
{{LOCALHOUR}} 19 Stunde (00–23)
{{LOCALMINUTE}} 07 Minute (00–59)
{{LOCALTIME}} 1907 Uhrzeit als HHMM
{{LOCALTIMESTAMP}} 20260104190730 Timestamp als YYYYMMDDHHMMSS
{{LOCALDAYNAME}} Montag Name des Wochentags (lokalisiert)
{{LOCALDOW}} 1 Wochentag als Zahl (1=Montag, 7=Sonntag)
{{LOCALWEEK}} 01 Kalenderwoche (lokale Zeitzone)
{{LOCALDAYOFYEAR}} 4 Tag des Jahres (1–366)
{{LOCALMONTHABBREV}} Jan Monatsname abgekürzt (lokalisiert)
{{LOCALMONTHNAMEGEN}} Januar Monatsname im Genitiv (sprachabhängig)
{{LOCALSECOND}} 30 Sekunde (00–59)
{{LOCALTZ}} CET Aktive lokale Zeitzone
Hinweis:LOCAL-Werte sind häufig cache-abhängig und aktualisieren sich nicht zwingend sofort auf bereits gespeicherten Seiten. → Siehe: Hilfe:Cache

Abgrenzung und verbesserte Logik[Bearbeiten | Quelltext bearbeiten]

Für komplexere Datumslogik, Berechnungen oder wiederverwendbare Formatierungen sind Module mit Lua Programmierung die bessere Wahl.

Es existiert bereits ein Modul, mit verbessertem Funktionsumfang, zum Beispiel für relative Zeitangaben. → Siehe: Modul:DateFormat

Siehe auch