Hilfe:Parserfunktionen/Datum und Zeit

Diese Hilfeseite zeigt Parserfunktionen zur Darstellung von Datum und Zeit. Es gibt in den Wikis zwei Zeitzonen:

  • UTC – Weltzeit (London)
  • Lokale Zeit (Berlin, ggf. mit Sommerzeit, für deutschsprachige Wikis)

Grundsätzlich sind die Seitendarstellungen im Cache hinterlegt, die sich meist schnell ändernden Zeitangaben sind deshalb kaum aktuell. Entsprechende Seiten wie auch diese hier müssen dann ggf. spontan regeneriert werden: Aktualisieren

Aktueller Zeitpunkt

Namen sind deutschsprachig.

Weltzeit

Funktion Lokalisierung Beschreibung Beispiel
CURRENTTIMESTAMP JETZIGER_ZEITSTEMPEL Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601 {{CURRENTTIMESTAMP}}20221001095507
CURRENTYEAR JETZIGES_JAHR Jahreszahl {{CURRENTYEAR}}2022
CURRENTMONTH
CURRENTMONTH2
JETZIGER_MONAT
JETZIGER_MONAT_2
Monatsnummer, immer zweistellig {{CURRENTMONTH2}}10
CURRENTMONTH1 JETZIGER_MONAT_1 Monatsnummer, möglichst einstellig {{CURRENTMONTH1}}10
CURRENTMONTHNAME JETZIGER_MONATSNAME Monatsname {{CURRENTMONTHNAME}}Oktober
CURRENTMONTHABBREV JETZIGER_MONATSNAME_KURZ Monatsname, bei mehr als drei Buchstaben abgekürzt {{CURRENTMONTHABBREV}}Okt.
CURRENTMONTHNAMEGEN JETZIGER_MONATSNAME_GENITIV
JETZIGER_MONATSNAME_GEN
Monatsname im Genitiv {{CURRENTMONTHNAMEGEN}}Oktober
CURRENTWEEK JETZIGE_WOCHE
JETZIGE_KALENDERWOCHE
Kalenderwoche {{CURRENTWEEK}}39
CURRENTDAY JETZIGER_TAG
JETZIGER_KALENDERTAG
Tagesnummer im Monat, möglichst einstellig {{CURRENTDAY}}1
CURRENTDAY2 JETZIGER_TAG_2
JETZIGER_KALENDERTAG_2
Tagesnummer im Monat, immer zweistellig {{CURRENTDAY2}}01
CURRENTDAYNAME JETZIGER_WOCHENTAG Wochentagsname {{CURRENTDAYNAME}}Samstag
CURRENTDOW JETZIGER_WOCHENTAG_ZAHL Tagesnummer in der Woche; Montag=1 {{CURRENTDOW}}6
CURRENTHOUR JETZIGE_STUNDE Stunde, immer zweistellig {{CURRENTHOUR}}09
CURRENTTIME JETZIGE_UHRZEIT Uhrzeit, hh:mm {{CURRENTTIME}}09:55

Lokale Zeit

Funktion Lokalisierung Beschreibung Beispiel
LOCALTIMESTAMP LOKALERZEITSTEMPEL Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601 {{LOCALTIMESTAMP}}20221001115507
LOCALYEAR LOKALES_JAHR Jahreszahl {{LOCALYEAR}}2022
LOCALMONTH
LOCALMONTH2
LOKALER_MONAT
LOKALER_MONAT_2
Monatsnummer, immer zweistellig {{LOCALMONTH}}10
LOCALMONTH1 LOKALER_MONAT_1 Monatsnummer, möglichst einstellig {{LOCALMONTH1}}10
LOCALMONTHNAME LOKALER_MONATSNAME Monatsname {{LOCALMONTHNAME}}Oktober
LOCALMONTHABBREV LOKALER_MONATSNAME_KURZ Monatsname, bei mehr als drei Buchstaben abgekürzt {{LOCALMONTHABBREV}}Okt.
LOCALMONTHNAMEGEN LOKALER_MONATSNAME_GENITIV
LOKALER_MONATSNAME_GEN
Monatsname im Genitiv {{LOCALMONTHNAMEGEN}}Oktober
LOCALWEEK LOKALE_WOCHE
LOKALE_KALENDERWOCHE
Kalenderwoche {{LOCALWEEK}}39
LOCALDAY LOKALER_TAG
LOKALER_KALENDERTAG
Tagesnummer im Monat, möglichst einstellig {{LOCALDAY}}1
LOCALDAY2 LOKALER_TAG_2
LOKALER_KALENDERTAG_2
Tagesnummer im Monat, immer zweistellig {{LOCALDAY2}}01
LOCALDAYNAME LOKALER_WOCHENTAG Wochentagsname {{LOCALDAYNAME}}Samstag
LOCALDOW LOKALER_WOCHENTAG_ZAHL Tagesnummer in der Woche; Montag=1 {{LOCALDOW}}6
LOCALHOUR LOKALE_STUNDE Stunde, immer zweistellig {{LOCALHOUR}}11
LOCALTIME LOKALE_UHRZEIT Uhrzeit, hh:mm {{LOCALTIME}}11:55

Beliebigen Zeitpunkt formatieren – #time

Funktion Pflichtparameter Parameter
#time Format Zeitpunkt Ausgabesprache
Formatiert beliebigen Zeitpunkt in Weltzeit.
  • FormatPHP-Formatspezifikation, siehe ausführliche Darstellung unten.
  • ZeitpunktISO 8601 oder englische Datumsformate, in Weltzeit; auch relativ.
  • Vorgabe ist „jetzt“.
  • Ausgabesprache – Sprachcode einer Ausgabesprache gemäß ISO 639.

Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben.

Beispiele:
  • {{#time}}{{#time}}
  • {{#time:}}
  • {{#time:j. F Y H:i:s}}1. Oktober 2022 09:55:07
  • {{#time:j. F Y H:i:s|now}}1. Oktober 2022 09:55:07
  • {{#time:j. F Y H:i:s|1970-01-01T00:00:00}}1. Januar 1970 00:00:00
#timel Format Zeitpunkt Ausgabesprache
Formatiert beliebigen Zeitpunkt in lokaler Zeit.
  • Parameter und Resultat wie #time.
Beispiele:
  • {{#timel}}{{#timel}}
  • {{#timel:}}
  • {{#timel:j. F Y H:i:s}}1. Oktober 2022 11:55:07
  • {{#timel:j. F Y H:i:s|now}}1. Oktober 2022 11:55:07
  • {{#timel:j. F Y H:i:s|1970-01-01T00:00:00}}1. Januar 1970 01:00:00

Es wird bei ungültigem Ausdruck eine Fehlermeldung angezeigt; eine Wartungskategorie ist zurzeit jedoch nicht definiert.[1]

Die Funktionalität wird zunächst durch eine Standardbibliothek in PHP realisiert und richtet sich nach deren auf dem Server installierten Version. [2]

Von MediaWiki unterstützte Format-Parameter sind DjlNwzWFmMntLoYyaAgGhHiscrUeIOPTZ[3] sowie Erweiterungen zu PHP. Diese werden in den folgenden zwei Tabellen erklärt.

Die Ausgabe erfolgt entsprechend der lokalen Spracheinstellung; durch xn-Codes werden Zahlausgaben in Versalziffern umgewandelt, sofern das per lokaler Spracheinstellung erzeugten typografischen Varianten oder anderen Zahlensystemen benötigt wird.

Format-Parameter
Code Beschreibung Ausgabe in UTC (#time) Ausgabe in lokaler Zeit (#timel)
Jahr
Y Jahr vierstellig 2022 2022
y Jahr zweistellig 22 22
o Jahreszahl nach ISO 8601, gebunden an Kalenderwoche
29. Dezember 2008 = 2009, weil 1. KW; 2. Januar 2011 = 2010, weil 52. KW
2022 2022
L Schaltjahr? 1=ja und 0=nein 0 0
Monat
M Monatsname abgekürzt (internationalisierbar) Okt. (Standard)
Oct (Englisch)
Okt. (Standard)
Oct (Englisch)
F Monatsname ausgeschrieben (internationalisierbar) Oktober (Standard)
October (Englisch)
Oktober (Standard)
October (Englisch)
m Monat mit führender Null 10 10
n Monat ohne führende Null 10 10
t Gesamt-Anzahl der Tage in diesem Monat 31 31
Woche
W Kalenderwoche nach ISO-8601 39 39
Tag
z Tage seit Neujahr, 1. Januar=0; 2. Januar=1, … 273 273
j Tag im Monat ohne führende Null 1 1
d Tag im Monat mit führender Null 01 01
D Wochentag abgekürzt (tw. internationalisierbar) Sa (Standard)
Sat (Englisch)
Sa (Standard)
Sat (Englisch)
l Wochentag ausgeschrieben (tw. internationalisierbar) Samstag (Standard)
Saturday (Englisch)
Samstag (Standard)
Saturday (Englisch)
w Wochentags-Zähler, Mo(1)–Sa(6), So=0 6 6
N Wochentags-Zähler, Mo(1)–Sa(6), So=7 6 6
Stunde
H Stunde mit führender Null, Mitternacht = 00 09 11
G Stunde ohne führende Null, Mitternacht = 0 9 11
h Stunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 12 09 11
g Stunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 12 9 11
a / A am und pm, klein- (a) bzw. großgeschrieben (A) am / AM am / AM
Minute und Sekunde
i Minute mit führender Null, volle Stunde = 00 55 55
s Sekunde mit führender Null, volle Minute = 00 07 07
Umfassende Zeitangabe
c Datum nach ISO 8601 2022-10-01T09:55:07+00:00 2022-10-01T11:55:07+02:00
r Datum nach RFC 2822 Sat, 01 Oct 2022 09:55:07 +0000 Sat, 01 Oct 2022 11:55:07 +0200
U Unixzeit 1664618107 1664618107
Zeitzone
e Zeitzonen-Kennzeichner UTC Europe/Berlin
I Sommerzeit? 1=ja und 0=nein 0 1
O Unterschied zur Greenwich Mean Time +0000 +0200
P Unterschied zur Greenwich Mean Time mit Trennzeichen +00:00 +02:00
T Zeitzonen-Name UTC CEST
Z Zeitzonen-Offset in Sekunden 0 7200
Erweiterungen zu PHP
Code Beschreibung Ausgabe in UTC
xn Sofern die Spracheinstellungen nicht Versalziffern erzeugen, sorgt xn dafür – beispielsweise ergibt {{#time:G, xnG}} in Hindi → ९, 9 9 (xnG)
xr Formatiert den nächsten numerischen Code als römische Zahl. {{#time: xrY}} → MMXXII
xg Gibt die Genitivform des Monatsnamens aus; für Sprachen, die zwischen Genitiv und Nominativ unterscheiden. Oktober
xx Der Buchstabe „x“ x

xmj
xmF
xmn
xmY

Tag nach islamischer Zeitrechnung
Monatsname nach islamischer Zeitrechnung
Monatszahl nach islamischer Zeitrechnung
Jahr nach islamischer Zeitrechnung

5

Rabiʿ al-auwal
3
1444

xij
xit
xiF
xin
xiY
xiy
xiz

Tag im iranischen Kalender
Anzahl der Tage in einem Monat des iranischen Kalenders
Monatsname im iranischen Kalender
Monatszahl im iranischen Kalender
Jahr im iranischen Kalender
Jahr im iranischen Kalender, zweistellig
Anzahl der im Jahr bereits verstrichenen Tage des iranischen Kalenders

9

30
Mehr
7
1401
01
194

xjj
xjt
xjF
xjx
xjn
xjY

Tag im jüdischen Kalender
Anzahl der Tage in einem Monat des jüdischen Kalenders
Monatsname im jüdischen Kalender
Monatsname im Genitiv im jüdischen Kalender
Monatszahl im jüdischen Kalender
Jahr im jüdischen Kalender

6

30
Tishrei
Tishrei
1
5783

xkY Jahr im thailändischen Sonnenkalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) 2565
xoY Jahr im chinesischen Minguo-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) 111
xtY Jahr im japanischen Nengō-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) 令和4

Jedes unbekannte Zeichen wird unbearbeitet zur Ausgabe durchgereicht. Dazu gibt es zwei Konventionen:

  • Zeichen zwischen doppelten, hochgestellten Anführungszeichen " werden als solche ausgegeben, die Anführungszeichen selbst werden ausgespart. Dies verhindert eine Umwandlung der (Code-)Buchstaben eines Wortes. Anführungszeichen alleine werden als solche ausgegeben. Beispiele:
    • {{#time: Wort}} → 392022Sat, 01 Oct 2022 09:55:07 +000031
    • {{#time: "Wort"}} → Wort
    • {{#time: "Wird übermorgen, einem" l "im" F", erledigt."|+ 2 days}} → Wird übermorgen, einem Montag im Oktober, erledigt.
    • {{#time: "l, g:i:s a"}} → l, g:i:s a
  • backslash escapes werden unterstützt: \H ergibt das Zeichen H, \" ergibt das Zeichen ".
Beispiele zu Kalendersystemen
Code Beschreibung Ausgabe (UTC)
{{#time:xjj. xjF xjY}} Aktuelles Datum nach dem jüdischen Kalender 6. Tishrei 5783
{{#time:xmj. xmF xmY}} Aktuelles Datum nach islamischer Zeitrechnung 5. Rabiʿ al-auwal 1444
{{#time:xij. xiF xiY}} Aktuelles Datum nach dem iranischen Kalender 9. Mehr 1401
{{#time:j. F xkY}} Aktuelles Datum nach dem Thailändischen Sonnenkalender 1. Oktober 2565
{{#time:j. F xoY}} Aktuelles Datum nach dem chinesischen Minguo-Kalender 1. Oktober 111
{{#time:xtY/n/j}} Aktuelles Datum nach dem japanischen Nengō-Kalender 令和4/10/1

Relative Angaben
Relative Zeiträume
Schlüssel­wort Bedeutung
ago zuvor
second
seconds
Sekunden
minute
minutes
Minuten
hour
hours
Stunden
day
days
Tage
month
months
Monate
week
weeks
Wochen
year
years
Jahre
today heute
tomorrow morgen
yesterday gestern
fortnight 14 Tage

Das Format des Zeitpunkt-Parameters ist identisch mit der PHP-Funktion strtotime(). Relative Angaben wie zum Beispiel +10 hours werden unterstützt, welche etwa für eine Zeitzonen-Berechnung genutzt werden können.

Bei Namen oder Abkürzungen von Monaten oder Wochentagen werden nur die englischsprachigen Bezeichnungen erkannt, die Verwendung von deutschsprachigen Bezeichnungen kann zu einem ungültigen oder unerwarteten Datum führen.[4]

Beispiele zu relativen Angaben
Code Beschreibung Ergebnis in UTC
mit verändertem Datum relativ zur „Jetztzeit“, dem Zeitpunkt der letzten Seitenaktualisierung: 1.10.2022 09:55:07
{{#time:j"."n"."Y H":"i":"s|2 days 10 hours 40 minutes ago}} Das angezeigte Datum wird um 2 Tage, 10 Stunden und 40 Minuten nach hinten verschoben 28.9.2022 23:15:07
{{#time:j"."n"."Y H":"i":"s|1 day ago}} Gestern zur gleichen Zeit (Vor 24 Stunden) 30.9.2022 09:55:07
{{#time:j"."n"."Y H":"i":"s|yesterday}} Gestern 30.9.2022 00:00:00
{{#time:j"."n"."Y H":"i":"s|tomorrow}} Morgen 2.10.2022 00:00:00
{{#time:j"."n"."Y H":"i":"s|1 day}} Morgen zur gleichen Zeit (In 24 Stunden) 2.10.2022 09:55:07
{{#time:j"."n"."Y H":"i":"s|2 days}} Übermorgen 3.10.2022 09:55:07
{{#time:j"."n"."Y H":"i":"s|2 years 2 months 2 weeks 2 days}} In 2 Jahren, 2 Monaten, 2 Wochen und 2 Tagen 17.12.2024 09:55:07
{{#time:j"."n"."Y H":"i":"s|1 year 1 month 1 week 1 day}} In einem Jahr, einem Monat, einer Woche und einem Tag 9.11.2023 09:55:07
Absolute Angaben

Es gibt mehrere Möglichkeiten, einen bestimmten Zeitpunkt anzugeben:

Wochentage
Schlüssel­wort Bedeutung
first erster
second zweiter
third dritter
fourth vierter
fifth fünfter
last letzter
monday Montag
tuesday Dienstag
wednesday Mittwoch
thursday Donnerstag
friday Freitag
saturday Sonn­abend
sunday Sonntag
  • ISO 8601, Beispiele:
    • 2001-01-15
    • 2006-11-26T15:15:20
    • 1970-01-01 00:00Z
  • jjjjmmtt – sechs Ziffern, mit jjjj=Jahreszahl, mm=Monatsnummer 01–12, tt=Tagesnummer
  • hhmm – vier Ziffern, mit hh=Stunden 00–23, mm=Minuten 00–59
  • hh:mm – zwei Ziffern, Doppelpunkt, zwei Ziffern, mit hh=Stunden 00–23, mm=Minuten 00–59
  • hh – zwei Ziffern, mit hh=Stunden 00–23
  • month day mit englischsprachigem Monatsnamen und Tagesnummer im Monat
  • @sssssssssss – Ganze Zahl der Sekunden in Unix-Zeit, also seit 1970-01-01 00:00:00 UTC
    • Die Zahl darf negativ sein, dann sind es die Sekunden vor der Unix-Zeit, bis 1969.
    • An die Zahl dürfen mit , oder . Dezimalstellen angehängt werden, also Zehntel-, Hunderstel- usw. Sekunden

Die Aufzählung ist nicht vollständig, eröffnet jedoch hinreichend viele Möglichkeiten.

Wochentag

Es ist auch möglich, relative Angaben bezüglich Wochentage zu machen.

  • first ist der nächstfolgende <Wochentag> (ausgenommen heute)
    • Um einen (den heutigen) Tag einzuschließen, falls er auf den <Wochentag> fällt, muss zunächst ein Tag rückwärts gezählt werden.
  • last – Letzter vorangehender <Wochentag>
    • Um einen (den heutigen) Tag einzuschließen, falls er auf den <Wochentag> fällt, muss zunächst ein Tag vorwärts gezählt werden.
  • second oder third usw. sind die Wochentage nach dem Stichtag.
  • Nützlich ist auch der t-Formatierungscode für den letzten Tag des Monats, {{#time:Ymt}}
Beispiele zu Wochentag-bezogenen Angaben
Code Beschreibung Ergebnis
mit verändertem Datum relativ zu „heute“, Samstag, dem 1.10.2022:
{{#timel:j"."n"."Y|first monday}} Nächsten Montag (aber nicht mehr heute) 3.10.2022
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first saturday}} Nächsten Samstag (ggf. auch heute) 1.10.2022
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}} Erster Mittwoch des kommenden Monats 2.11.2022
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}} Letzter Freitag dieses Monats 28.10.2022
{{#timel:j"."n"."Y|{{LOCALYEAR}}1231, first monday}} Erster Montag kommenden Jahres 2.1.2023
{{#timel:j"."n"."Y|{{#timel:Y|1 year}}0101, first monday}} Erster Montag kommenden Jahres, nach Neujahrsfeiertag 2.1.2023
{{#timel:t"."n"."Y}} Letzter Tag dieses Monats 31.10.2022

Gemäß System-Standards formatieren – #formatdate

Diese Funktion ist möglicherweise nirgendwo noch verwendbar.

Funktion Lokalisierung Pflichtparameter Parameter
#formatdate
#dateformat
#datumsformat Zeitpunkt Formatschema
Formatiert Daten nach den Benutzereinstellungen; falls nicht gesetzt nach dem Formatschema.
  • Zeitpunkt – es werden nur englische Datumsformate erkannt und formatiert.
  • FormatschemaSystem-Schema

Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben.

  • Weil englische Datumsformate (Monatsnamen) in einem deutschsprachigen Wiki nicht dynamisch verfügbar sind, ist diese Funktion hier praktisch kaum einsetzbar.

AnmerkungenBearbeiten

  1. Phabricator – Bug/Feature: 63425 – Es wird ein Problem darin gesehen, dass auch bei #iferror eine Wartungskategorie ausgelöst wird, obwohl bereits eine Fehlerbehandlung erfolgt.
  2. tar manual. gnu.org
  3. Erklärung der Format-Codes. php.net
  4. phab:T21412 (Bugzilla:19412)