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}}20241118022048
CURRENTYEAR JETZIGES_JAHR Jahreszahl {{CURRENTYEAR}}2024
CURRENTMONTH
CURRENTMONTH2
JETZIGER_MONAT
JETZIGER_MONAT_2
Monatsnummer, immer zweistellig {{CURRENTMONTH2}}11
CURRENTMONTH1 JETZIGER_MONAT_1 Monatsnummer, möglichst einstellig {{CURRENTMONTH1}}11
CURRENTMONTHNAME JETZIGER_MONATSNAME Monatsname {{CURRENTMONTHNAME}}November
CURRENTMONTHABBREV JETZIGER_MONATSNAME_KURZ Monatsname, bei mehr als drei Buchstaben abgekürzt {{CURRENTMONTHABBREV}}Nov.
CURRENTMONTHNAMEGEN JETZIGER_MONATSNAME_GENITIV
JETZIGER_MONATSNAME_GEN
Monatsname im Genitiv {{CURRENTMONTHNAMEGEN}}November
CURRENTWEEK JETZIGE_WOCHE
JETZIGE_KALENDERWOCHE
Kalenderwoche {{CURRENTWEEK}}47
CURRENTDAY JETZIGER_TAG
JETZIGER_KALENDERTAG
Tagesnummer im Monat, möglichst einstellig {{CURRENTDAY}}18
CURRENTDAY2 JETZIGER_TAG_2
JETZIGER_KALENDERTAG_2
Tagesnummer im Monat, immer zweistellig {{CURRENTDAY2}}18
CURRENTDAYNAME JETZIGER_WOCHENTAG Wochentagsname {{CURRENTDAYNAME}}Montag
CURRENTDOW JETZIGER_WOCHENTAG_ZAHL Tagesnummer in der Woche; Montag=1 {{CURRENTDOW}}1
CURRENTHOUR JETZIGE_STUNDE Stunde, immer zweistellig {{CURRENTHOUR}}02
CURRENTTIME JETZIGE_UHRZEIT Uhrzeit, hh:mm {{CURRENTTIME}}02:20

Lokale Zeit

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

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}}18. November 2024 02:20:48
  • {{#time:j. F Y H:i:s|now}}18. November 2024 02:20:49
  • {{#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}}18. November 2024 03:20:48
  • {{#timel:j. F Y H:i:s|now}}18. November 2024 03:20:49
  • {{#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) Nov. (Standard)
Nov (Englisch)
Nov. (Standard)
Nov (Englisch)
F Monatsname ausgeschrieben (internationalisierbar) November (Standard)
November (Englisch)
November (Standard)
November (Englisch)
m Monat mit führender Null 11 11
n Monat ohne führende Null 11 11
t Gesamt-Anzahl der Tage in diesem Monat 30 30
Woche
W Kalenderwoche nach ISO-8601 47 47
Tag
z Tage seit Neujahr, 1. Januar=0; 2. Januar=1, … 322 322
j Tag im Monat ohne führende Null 18 18
d Tag im Monat mit führender Null 18 18
D Wochentag abgekürzt (tw. internationalisierbar) Mo (Standard)
Mon (Englisch)
Mo (Standard)
Mon (Englisch)
l Wochentag ausgeschrieben (tw. internationalisierbar) Montag (Standard)
Monday (Englisch)
Montag (Standard)
Monday (Englisch)
w Wochentags-Zähler, Mo(1)–Sa(6), So=0 1 1
N Wochentags-Zähler, Mo(1)–Sa(6), So=7 1 1
Stunde
H Stunde mit führender Null, Mitternacht = 00 02 03
G Stunde ohne führende Null, Mitternacht = 0 2 3
h Stunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 12 02 03
g Stunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 12 2 3
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 20 20
s Sekunde mit führender Null, volle Minute = 00 48 48
Umfassende Zeitangabe
c Datum nach ISO 8601 2024-11-18T02:20:48+00:00 2024-11-18T03:20:48+01:00
r Datum nach RFC 2822 Mon, 18 Nov 2024 02:20:48 +0000 Mon, 18 Nov 2024 03:20:48 +0100
U Unixzeit 1731896448 1731896448
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 → २, 2 2 (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. November
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

16

Dschumada l-ula
5
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

28

30
Aban
8
1403
03
243

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

17

30
Cheshvan
Cheshvan
2
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}} → 472024Mon, 18 Nov 2024 02:20:48 +000030
    • {{#time: "Wort"}} → Wort
    • {{#time: "Wird übermorgen, einem" l "im" F", erledigt."|+ 2 days}} → Wird übermorgen, einem Mittwoch im November, 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 17. Cheshvan 5785
{{#time:xmj. xmF xmY}} Aktuelles Datum nach islamischer Zeitrechnung 16. Dschumada l-ula 1446
{{#time:xij. xiF xiY}} Aktuelles Datum nach dem iranischen Kalender 28. Aban 1403
{{#time:j. F xkY}} Aktuelles Datum nach dem Thailändischen Sonnenkalender 18. November 2567
{{#time:j. F xoY}} Aktuelles Datum nach dem chinesischen Minguo-Kalender 18. November 113
{{#time:xtY/n/j}} Aktuelles Datum nach dem japanischen Nengō-Kalender 令和6/11/18

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: 18.11.2024 02:20:48
{{#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 15.11.2024 15:40:49
{{#time:j"."n"."Y H":"i":"s|1 day ago}} Gestern zur gleichen Zeit (Vor 24 Stunden) 17.11.2024 02:20:49
{{#time:j"."n"."Y H":"i":"s|yesterday}} Gestern 17.11.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|tomorrow}} Morgen 19.11.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|1 day}} Morgen zur gleichen Zeit (In 24 Stunden) 19.11.2024 02:20:49
{{#time:j"."n"."Y H":"i":"s|2 days}} Übermorgen 20.11.2024 02:20:49
{{#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 3.2.2027 02:20:49
{{#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 26.12.2025 02:20:49
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“, Montag, dem 18.11.2024:
{{#timel:j"."n"."Y|first monday}} Nächsten Montag (aber nicht mehr heute) 25.11.2024
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first monday}} Nächsten Montag (ggf. auch heute) 18.11.2024
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}} Erster Mittwoch des kommenden Monats 4.12.2024
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}} Letzter Freitag dieses Monats 29.11.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 30.11.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:}}02:20, 18. Nov. 2024
  • {{#timef:now|date}}18. November 2024
  • {{#timef:now|time}}02:20
  • {{#timef:now|both}}02:20, 18. Nov. 2024
  • {{#timef:now|pretty}}18 November
  • {{#timef:1970-01-01T00:00:00|both}}00:00, 1. Jan. 1970
  • {{#timef:now|both|ru}}02:20, 18 ноября 2024
#timefl Zeitpunkt Art Ausgabesprache
Formatiert beliebigen Zeitpunkt in Projekt-lokaler Zeit gemäß System-Standards.
  • Parameter und Resultat wie #timef.
Beispiele:
  • {{#timefl}}{{#timefl}}
  • {{#timefl:}}03:20, 18. Nov. 2024
  • {{#timefl:now|date}}18. November 2024
  • {{#timefl:now|time}}03:20
  • {{#timefl:now|both}}03:20, 18. Nov. 2024
  • {{#timefl:now|pretty}}18 November
  • {{#timefl:1970-01-01T00:00:00|both}}01:00, 1. Jan. 1970
  • {{#timefl:now|both|ru}}03:20, 18 ноября 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)