Hilfe:Parserfunktionen/Datum und Zeit

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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

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

Lokale Zeit

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

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 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}}12. Dezember 2024 19:22:00
  • {{#time:j. F Y H:i:s|now}}12. Dezember 2024 19:22:00
  • {{#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 Projekt-lokaler Zeit.
  • Parameter und Resultat wie #time.
Beispiele:
  • {{#timel}}{{#timel}}
  • {{#timel:}}
  • {{#timel:j. F Y H:i:s}}12. Dezember 2024 20:22:00
  • {{#timel:j. F Y H:i:s|now}}12. Dezember 2024 20:22:00
  • {{#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 2024 2024
y Jahr zweistellig 24 24
o Jahreszahl nach ISO 8601, gebunden an Kalenderwoche
29. Dezember 2008 = 2009, weil 1. KW; 2. Januar 2011 = 2010, weil 52. KW
2024 2024
L Schaltjahr? 1=ja und 0=nein 1 1
Monat
M Monatsname abgekürzt (internationalisierbar) Dez. (Standard)
Dec (Englisch)
Dez. (Standard)
Dec (Englisch)
F Monatsname ausgeschrieben (internationalisierbar) Dezember (Standard)
December (Englisch)
Dezember (Standard)
December (Englisch)
m Monat mit führender Null 12 12
n Monat ohne führende Null 12 12
t Gesamt-Anzahl der Tage in diesem Monat 31 31
Woche
W Kalenderwoche nach ISO-8601 50 50
Tag
z Tage seit Neujahr, 1. Januar=0; 2. Januar=1, … 346 346
j Tag im Monat ohne führende Null 12 12
d Tag im Monat mit führender Null 12 12
D Wochentag abgekürzt (tw. internationalisierbar) Do (Standard)
Thu (Englisch)
Do (Standard)
Thu (Englisch)
l Wochentag ausgeschrieben (tw. internationalisierbar) Donnerstag (Standard)
Thursday (Englisch)
Donnerstag (Standard)
Thursday (Englisch)
w Wochentags-Zähler, Mo(1)–Sa(6), So=0 4 4
N Wochentags-Zähler, Mo(1)–Sa(6), So=7 4 4
Stunde
H Stunde mit führender Null, Mitternacht = 00 19 20
G Stunde ohne führende Null, Mitternacht = 0 19 20
h Stunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 12 07 08
g Stunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 12 7 8
a / A am und pm, klein- (a) bzw. großgeschrieben (A) pm / PM pm / PM
Minute und Sekunde
i Minute mit führender Null, volle Stunde = 00 22 22
s Sekunde mit führender Null, volle Minute = 00 00 00
Umfassende Zeitangabe
c Datum nach ISO 8601 2024-12-12T19:22:00 00:00 2024-12-12T20:22:00 01:00
r Datum nach RFC 2822 Thu, 12 Dec 2024 19:22:00 0000 Thu, 12 Dec 2024 20:22:00 0100
U Unixzeit 1734031320 1734031320
Zeitzone
e Zeitzonen-Kennzeichner UTC Europe/Berlin
I Sommerzeit? 1=ja und 0=nein 0 0
O Unterschied zur Greenwich Mean Time 0000 0100
P Unterschied zur Greenwich Mean Time mit Trennzeichen 00:00 01:00
T Zeitzonen-Name UTC CET
Z Zeitzonen-Offset in Sekunden 0 3600
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 → १९, 19 19 (xnG)
xr Formatiert den nächsten numerischen Code als römische Zahl. {{#time: xrY}} → MMXXIV
xg Gibt die Genitivform des Monatsnamens aus; für Sprachen, die zwischen Genitiv und Nominativ unterscheiden. Dezember
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

10

Dschumada th-thaniyya
6
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

22

30
Azar
9
1403
03
267

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

11

30
Kislev
Kislev
3
5785

xkY Jahr im thailändischen Sonnenkalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) 2567
xoY Jahr im chinesischen Minguo-Kalender (Tag und Monat sind mit dem gregorianischen Kalender identisch) 113
xtY Jahr 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}} → 502024Thu, 12 Dec 2024 19:22:00 000031
    • {{#time: "Wort"}} → Wort
    • {{#time: "Wird übermorgen, einem" l "im" F", erledigt."| 2 days}} → Wird übermorgen, einem Samstag im Dezember, 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 11. Kislev 5785
{{#time:xmj. xmF xmY}} Aktuelles Datum nach islamischer Zeitrechnung 10. Dschumada th-thaniyya 1446
{{#time:xij. xiF xiY}} Aktuelles Datum nach dem iranischen Kalender 22. Azar 1403
{{#time:j. F xkY}} Aktuelles Datum nach dem Thailändischen Sonnenkalender 12. Dezember 2567
{{#time:j. F xoY}} Aktuelles Datum nach dem chinesischen Minguo-Kalender 12. Dezember 113
{{#time:xtY/n/j}} Aktuelles Datum nach dem japanischen Nengō-Kalender 令和6/12/12

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: 12.12.2024 19:22:00
{{#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 10.12.2024 08:42:00
{{#time:j"."n"."Y H":"i":"s|1 day ago}} Gestern zur gleichen Zeit (Vor 24 Stunden) 11.12.2024 19:22:00
{{#time:j"."n"."Y H":"i":"s|yesterday}} Gestern 11.12.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|tomorrow}} Morgen 13.12.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|1 day}} Morgen zur gleichen Zeit (In 24 Stunden) 13.12.2024 19:22:00
{{#time:j"."n"."Y H":"i":"s|2 days}} Übermorgen 14.12.2024 19:22:00
{{#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 28.2.2027 19:22:00
{{#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 20.1.2026 19:22:00
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-, 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
Code Beschreibung Ergebnis
mit verändertem Datum relativ zu „heute“, Donnerstag, dem 12.12.2024:
{{#timel:j"."n"."Y|first monday}} Nächsten Montag (aber nicht mehr heute) 16.12.2024
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first thursday}} Nächsten Donnerstag (ggf. auch heute) 12.12.2024
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}} Erster Mittwoch des kommenden Monats 1.1.2025
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}} Letzter Freitag dieses Monats 27.12.2024
{{#timel:j"."n"."Y|{{LOCALYEAR}}1231, first monday}} Erster Montag kommenden Jahres 6.1.2025
{{#timel:j"."n"."Y|{{#timel:Y|1 year}}0101, first monday}} Erster Montag kommenden Jahres, nach Neujahrsfeiertag 6.1.2025
{{#timel:t"."n"."Y}} Letzter Tag dieses Monats 31.12.2024

Gemäß System-Standards formatieren – #timef

Funktion Parameter
#timef Zeitpunkt Art Ausgabesprache
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:}}19:22, 12. Dez. 2024
  • {{#timef:now|date}}12. Dezember 2024
  • {{#timef:now|time}}19:22
  • {{#timef:now|both}}19:22, 12. Dez. 2024
  • {{#timef:now|pretty}}12 Dezember
  • {{#timef:1970-01-01T00:00:00|both}}00:00, 1. Jan. 1970
  • {{#timef:now|both|ru}}19:22, 12 декабря 2024
#timefl Zeitpunkt Art Ausgabesprache
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit gemäß System-Standards.
  • Parameter und Resultat wie #timef.
Beispiele:
  • {{#timefl}}{{#timefl}}
  • {{#timefl:}}20:22, 12. Dez. 2024
  • {{#timefl:now|date}}12. Dezember 2024
  • {{#timefl:now|time}}20:22
  • {{#timefl:now|both}}20:22, 12. Dez. 2024
  • {{#timefl:now|pretty}}12 Dezember
  • {{#timefl:1970-01-01T00:00:00|both}}01:00, 1. Jan. 1970
  • {{#timefl:now|both|ru}}20:22, 12 декабря 2024

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.
  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)