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 für das Wiki (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

FunktionLokalisierungBeschreibungBeispiel
CURRENTTIMESTAMPJETZIGER_ZEITSTEMPELZeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601{{CURRENTTIMESTAMP}}20240809010420
CURRENTYEARJETZIGES_JAHRJahreszahl{{CURRENTYEAR}}2024
CURRENTMONTH
CURRENTMONTH2
JETZIGER_MONAT
JETZIGER_MONAT_2
Monatsnummer, immer zweistellig{{CURRENTMONTH2}}08
CURRENTMONTH1JETZIGER_MONAT_1Monatsnummer, möglichst einstellig{{CURRENTMONTH1}}8
CURRENTMONTHNAMEJETZIGER_MONATSNAMEMonatsname{{CURRENTMONTHNAME}}August
CURRENTMONTHABBREVJETZIGER_MONATSNAME_KURZMonatsname, bei mehr als drei Buchstaben abgekürzt{{CURRENTMONTHABBREV}}Aug.
CURRENTMONTHNAMEGENJETZIGER_MONATSNAME_GENITIV
JETZIGER_MONATSNAME_GEN
Monatsname im Genitiv{{CURRENTMONTHNAMEGEN}}August
CURRENTWEEKJETZIGE_WOCHE
JETZIGE_KALENDERWOCHE
Kalenderwoche{{CURRENTWEEK}}32
CURRENTDAYJETZIGER_TAG
JETZIGER_KALENDERTAG
Tagesnummer im Monat, möglichst einstellig{{CURRENTDAY}}9
CURRENTDAY2JETZIGER_TAG_2
JETZIGER_KALENDERTAG_2
Tagesnummer im Monat, immer zweistellig{{CURRENTDAY2}}09
CURRENTDAYNAMEJETZIGER_WOCHENTAGWochentagsname{{CURRENTDAYNAME}}Freitag
CURRENTDOWJETZIGER_WOCHENTAG_ZAHLTagesnummer in der Woche; Montag=1{{CURRENTDOW}}5
CURRENTHOURJETZIGE_STUNDEStunde, immer zweistellig{{CURRENTHOUR}}01
CURRENTTIMEJETZIGE_UHRZEITUhrzeit, hh:mm{{CURRENTTIME}}01:04

Lokale Zeit

FunktionLokalisierungBeschreibungBeispiel
LOCALTIMESTAMPLOKALERZEITSTEMPELZeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601{{LOCALTIMESTAMP}}20240809030420
LOCALYEARLOKALES_JAHRJahreszahl{{LOCALYEAR}}2024
LOCALMONTH
LOCALMONTH2
LOKALER_MONAT
LOKALER_MONAT_2
Monatsnummer, immer zweistellig{{LOCALMONTH}}08
LOCALMONTH1LOKALER_MONAT_1Monatsnummer, möglichst einstellig{{LOCALMONTH1}}8
LOCALMONTHNAMELOKALER_MONATSNAMEMonatsname{{LOCALMONTHNAME}}August
LOCALMONTHABBREVLOKALER_MONATSNAME_KURZMonatsname, bei mehr als drei Buchstaben abgekürzt{{LOCALMONTHABBREV}}Aug.
LOCALMONTHNAMEGENLOKALER_MONATSNAME_GENITIV
LOKALER_MONATSNAME_GEN
Monatsname im Genitiv{{LOCALMONTHNAMEGEN}}August
LOCALWEEKLOKALE_WOCHE
LOKALE_KALENDERWOCHE
Kalenderwoche{{LOCALWEEK}}32
LOCALDAYLOKALER_TAG
LOKALER_KALENDERTAG
Tagesnummer im Monat, möglichst einstellig{{LOCALDAY}}9
LOCALDAY2LOKALER_TAG_2
LOKALER_KALENDERTAG_2
Tagesnummer im Monat, immer zweistellig{{LOCALDAY2}}09
LOCALDAYNAMELOKALER_WOCHENTAGWochentagsname{{LOCALDAYNAME}}Freitag
LOCALDOWLOKALER_WOCHENTAG_ZAHLTagesnummer in der Woche; Montag=1{{LOCALDOW}}5
LOCALHOURLOKALE_STUNDEStunde, immer zweistellig{{LOCALHOUR}}03
LOCALTIMELOKALE_UHRZEITUhrzeit, hh:mm{{LOCALTIME}}03:04

Beliebigen Zeitpunkt formatieren – #time

FunktionPflichtparameterParameter
#timeFormatZeitpunktAusgabesprache
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 usw.
    • Vorgabe ist die Inhaltssprache (Seitensprache, Projektsprache).
    • Bei nicht erkannter Ausgabesprache wird „Englisch“ verwendet.

Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben, der Rest ignoriert.

Beispiele:
  • {{#time}}{{#time}}
  • {{#time:}}
  • {{#time:j. F Y H:i:s}}9. August 2024 01:04:20
  • {{#time:j. F Y H:i:s|now}}9. August 2024 01:04:20
  • {{#time:j. F Y H:i:s|1970-01-01T00:00:00}}1. Januar 1970 00:00:00
#timelFormatZeitpunktAusgabesprache
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit.
  • Parameter und Resultat wie #time.
Beispiele:
  • {{#timel}}{{#timel}}
  • {{#timel:}}
  • {{#timel:j. F Y H:i:s}}9. August 2024 03:04:20
  • {{#timel:j. F Y H:i:s|now}}9. August 2024 03:04:20
  • {{#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
CodeBeschreibungAusgabe in UTC (#time)Ausgabe in lokaler Zeit (#timel)
Jahr
YJahr vierstellig20242024
yJahr zweistellig2424
oJahreszahl nach ISO 8601, gebunden an Kalenderwoche
29. Dezember 2008 = 2009, weil 1. KW; 2. Januar 2011 = 2010, weil 52. KW
20242024
LSchaltjahr? 1=ja und 0=nein11
Monat
MMonatsname abgekürzt (internationalisierbar)Aug. (Standard)
Aug (Englisch)
Aug. (Standard)
Aug (Englisch)
FMonatsname ausgeschrieben (internationalisierbar)August (Standard)
August (Englisch)
August (Standard)
August (Englisch)
mMonat mit führender Null0808
nMonat ohne führende Null88
tGesamt-Anzahl der Tage in diesem Monat3131
Woche
WKalenderwoche nach ISO-86013232
Tag
zTage seit Neujahr, 1. Januar=0; 2. Januar=1, …221221
jTag im Monat ohne führende Null99
dTag im Monat mit führender Null0909
DWochentag abgekürzt (tw. internationalisierbar)Fr (Standard)
Fri (Englisch)
Fr (Standard)
Fri (Englisch)
lWochentag ausgeschrieben (tw. internationalisierbar)Freitag (Standard)
Friday (Englisch)
Freitag (Standard)
Friday (Englisch)
wWochentags-Zähler, Mo(1)–Sa(6), So=055
NWochentags-Zähler, Mo(1)–Sa(6), So=755
Stunde
HStunde mit führender Null, Mitternacht = 000103
GStunde ohne führende Null, Mitternacht = 013
hStunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 120103
gStunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 1213
a / Aam und pm, klein- (a) bzw. großgeschrieben (A)am / AMam / AM
Minute und Sekunde
iMinute mit führender Null, volle Stunde = 000404
sSekunde mit führender Null, volle Minute = 002020
Umfassende Zeitangabe
cDatum nach ISO 86012024-08-09T01:04:20+00:002024-08-09T03:04:20+02:00
rDatum nach RFC 2822Fri, 09 Aug 2024 01:04:20 +0000Fri, 09 Aug 2024 03:04:20 +0200
UUnixzeit17231654601723165460
Zeitzone
eZeitzonen-KennzeichnerUTCEurope/Berlin
ISommerzeit? 1=ja und 0=nein01
OUnterschied zur Greenwich Mean Time+0000+0200
PUnterschied zur Greenwich Mean Time mit Trennzeichen+00:00+02:00
TZeitzonen-NameUTCCEST
ZZeitzonen-Offset in Sekunden07200
Erweiterungen zu PHP
CodeBeschreibungAusgabe in UTC
xnSofern die Spracheinstellungen nicht Versalziffern erzeugen, sorgt xn dafür – beispielsweise ergibt {{#time:G, xnG}} in Hindi → १, 11 (xnG)
xrFormatiert den nächsten numerischen Code als römische Zahl.{{#time: xrY}} → MMXXIV
xgGibt die Genitivform des Monatsnamens aus; für Sprachen, die zwischen Genitiv und Nominativ unterscheiden.August
xxDer Buchstabe „x“x

xmj
xmF
xmn
xmY

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

3

Safar
2
1446

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

19

31
Mordad
5
1403
03
142

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

5

30
Av
Av
11
5784

xkYJahr im thailändischen Sonnenkalender (Tag und Monat sind mit dem gregorianischen Kalender identisch)2567
xoYJahr im chinesischen Minguo-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch)113
xtYJahr im japanischen Nengō-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch)令和6

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}} → 322024Fri, 09 Aug 2024 01:04:20 +000031
    • {{#time: "Wort"}} → Wort
    • {{#time: "Wird übermorgen, einem" l "im" F", erledigt."|+ 2 days}} → Wird übermorgen, einem Sonntag im August, 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
CodeBeschreibungAusgabe (UTC)
{{#time:xjj. xjF xjY}}Aktuelles Datum nach dem jüdischen Kalender5. Av 5784
{{#time:xmj. xmF xmY}}Aktuelles Datum nach islamischer Zeitrechnung3. Safar 1446
{{#time:xij. xiF xiY}}Aktuelles Datum nach dem iranischen Kalender19. Mordad 1403
{{#time:j. F xkY}}Aktuelles Datum nach dem Thailändischen Sonnenkalender9. August 2567
{{#time:j. F xoY}}Aktuelles Datum nach dem chinesischen Minguo-Kalender9. August 113
{{#time:xtY/n/j}}Aktuelles Datum nach dem japanischen Nengō-Kalender令和6/8/9

Relative Angaben
Relative Zeiträume
Schlüssel­wortBedeutung
agozuvor
second
seconds
Sekunden
minute
minutes
Minuten
hour
hours
Stunden
day
days
Tage
month
months
Monate
week
weeks
Wochen
year
years
Jahre
todayheute
tomorrowmorgen
yesterdaygestern
fortnight14 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
CodeBeschreibungErgebnis in UTC
mit verändertem Datum relativ zur „Jetztzeit“, dem Zeitpunkt der letzten Seitenaktualisierung: 9.8.2024 01:04:20
{{#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 verschoben6.8.2024 14:24:20
{{#time:j"."n"."Y H":"i":"s|1 day ago}}Gestern zur gleichen Zeit (Vor 24 Stunden)8.8.2024 01:04:20
{{#time:j"."n"."Y H":"i":"s|yesterday}}Gestern8.8.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|tomorrow}}Morgen10.8.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|1 day}}Morgen zur gleichen Zeit (In 24 Stunden)10.8.2024 01:04:20
{{#time:j"."n"."Y H":"i":"s|2 days}}Übermorgen11.8.2024 01:04:20
{{#time:j"."n"."Y H":"i":"s|2 years 2 months 2 weeks 2 days}}In 2 Jahren, 2 Monaten, 2 Wochen und 2 Tagen25.10.2026 01:04:20
{{#time:j"."n"."Y H":"i":"s|1 year 1 month 1 week 1 day}}In einem Jahr, einem Monat, einer Woche und einem Tag17.9.2025 01:04:20
Absolute Angaben

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

Wochentage
Schlüssel­wortBedeutung
firsterster
secondzweiter
thirddritter
fourthvierter
fifthfünfter
lastletzter
mondayMontag
tuesdayDienstag
wednesdayMittwoch
thursdayDonnerstag
fridayFreitag
saturdaySonn­abend
sundaySonntag
  • 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-, Hundertstel- 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
CodeBeschreibungErgebnis
mit verändertem Datum relativ zu „heute“, Freitag, dem 9.8.2024:
{{#timel:j"."n"."Y|first monday}}Nächsten Montag (aber nicht mehr heute)12.8.2024
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first friday}}Nächsten Freitag (ggf. auch heute)9.8.2024
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}}Erster Mittwoch des kommenden Monats4.9.2024
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}}Letzter Freitag dieses Monats30.8.2024
{{#timel:j"."n"."Y|{{LOCALYEAR}}1231, first monday}}Erster Montag kommenden Jahres6.1.2025
{{#timel:j"."n"."Y|{{#timel:Y|1 year}}0101, first monday}}Erster Montag kommenden Jahres, nach Neujahrsfeiertag6.1.2025
{{#timel:t"."n"."Y}}Letzter Tag dieses Monats31.8.2024

Gemäß System-Standards formatieren – #timef

FunktionParameter
#timefZeitpunktArtAusgabesprache
Formatiert beliebigen Zeitpunkt in Weltzeit gemäß System-Standards.
  • ZeitpunktISO 8601 oder englische Datumsformate, in Weltzeit; auch relativ.
    • Vorgabe ist „jetzt“.
  • Art – Umfang der Angaben
    • date (Tagesdatum)
    • time (Stunden, Minuten)
    • both (Vorgabe) = date+time kombiniert, Projektstandard für Zeitstempel in Signaturen, jedoch ohne Zeitzone.
    • pretty = „hübsch“, Tag+Monat
  • Ausgabesprache – Sprachcode einer Ausgabesprache gemäß ISO 639 usw.
    • Vorgabe ist die Inhaltssprache (Seitensprache, Projektsprache).
    • Bei nicht erkannter Ausgabesprache wird „Englisch“ verwendet.

Bei nicht erkanntem Zeitpunkt wird dieser unverändert wiedergegeben, der Rest ignoriert.

Beispiele:
  • {{#timef}}{{#timef}}
  • {{#timef:}}01:04, 9. Aug. 2024
  • {{#timef:now|date}}9. August 2024
  • {{#timef:now|time}}01:04
  • {{#timef:now|both}}01:04, 9. Aug. 2024
  • {{#timef:now|pretty}}9 August
  • {{#timef:1970-01-01T00:00:00|both}}00:00, 1. Jan. 1970
  • {{#timef:now|both|ru}}01:04, 9 августа 2024
#timeflZeitpunktArtAusgabesprache
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit gemäß System-Standards.
  • Parameter und Resultat wie #timef.
Beispiele:
  • {{#timefl}}{{#timefl}}
  • {{#timefl:}}03:04, 9. Aug. 2024
  • {{#timefl:now|date}}9. August 2024
  • {{#timefl:now|time}}03:04
  • {{#timefl:now|both}}03:04, 9. Aug. 2024
  • {{#timefl:now|pretty}}9 August
  • {{#timefl:1970-01-01T00:00:00|both}}01:00, 1. Jan. 1970
  • {{#timefl:now|both|ru}}03:04, 9 августа 2024

Gemäß System-Standards formatieren – #formatdate

Diese Funktion ist möglicherweise nirgendwo noch verwendbar.

FunktionLokalisierungPflichtparameterParameter
#formatdate
#dateformat
#datumsformatZeitpunktFormatschema
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.

Anmerkungen

  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)