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

Lokale Zeit

Funktion Lokalisierung Beschreibung Beispiel
LOCALTIMESTAMP LOKALERZEITSTEMPEL Zeitstempel als Zahl im Format JJJJMMTTHHMMSS, erfüllt ISO 8601 {{LOCALTIMESTAMP}}20240501013010
LOCALYEAR LOKALES_JAHR Jahreszahl {{LOCALYEAR}}2024
LOCALMONTH
LOCALMONTH2
LOKALER_MONAT
LOKALER_MONAT_2
Monatsnummer, immer zweistellig {{LOCALMONTH}}05
LOCALMONTH1 LOKALER_MONAT_1 Monatsnummer, möglichst einstellig {{LOCALMONTH1}}5
LOCALMONTHNAME LOKALER_MONATSNAME Monatsname {{LOCALMONTHNAME}}Mai
LOCALMONTHABBREV LOKALER_MONATSNAME_KURZ Monatsname, bei mehr als drei Buchstaben abgekürzt {{LOCALMONTHABBREV}}Mai
LOCALMONTHNAMEGEN LOKALER_MONATSNAME_GENITIV
LOKALER_MONATSNAME_GEN
Monatsname im Genitiv {{LOCALMONTHNAMEGEN}}Mai
LOCALWEEK LOKALE_WOCHE
LOKALE_KALENDERWOCHE
Kalenderwoche {{LOCALWEEK}}18
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}}Mittwoch
LOCALDOW LOKALER_WOCHENTAG_ZAHL Tagesnummer in der Woche; Montag=1 {{LOCALDOW}}3
LOCALHOUR LOKALE_STUNDE Stunde, immer zweistellig {{LOCALHOUR}}01
LOCALTIME LOKALE_UHRZEIT Uhrzeit, hh:mm {{LOCALTIME}}01:30

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}}30. April 2024 23:30:10
  • {{#time:j. F Y H:i:s|now}}30. April 2024 23:30:10
  • {{#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. Mai 2024 01:30:10
  • {{#timel:j. F Y H:i:s|now}}1. Mai 2024 01:30:10
  • {{#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) Apr. (Standard)
Apr (Englisch)
Mai (Standard)
May (Englisch)
F Monatsname ausgeschrieben (internationalisierbar) April (Standard)
April (Englisch)
Mai (Standard)
May (Englisch)
m Monat mit führender Null 04 05
n Monat ohne führende Null 4 5
t Gesamt-Anzahl der Tage in diesem Monat 30 31
Woche
W Kalenderwoche nach ISO-8601 18 18
Tag
z Tage seit Neujahr, 1. Januar=0; 2. Januar=1, … 120 121
j Tag im Monat ohne führende Null 30 1
d Tag im Monat mit führender Null 30 01
D Wochentag abgekürzt (tw. internationalisierbar) Di (Standard)
Tue (Englisch)
Mi (Standard)
Wed (Englisch)
l Wochentag ausgeschrieben (tw. internationalisierbar) Dienstag (Standard)
Tuesday (Englisch)
Mittwoch (Standard)
Wednesday (Englisch)
w Wochentags-Zähler, Mo(1)–Sa(6), So=0 2 3
N Wochentags-Zähler, Mo(1)–Sa(6), So=7 2 3
Stunde
H Stunde mit führender Null, Mitternacht = 00 23 01
G Stunde ohne führende Null, Mitternacht = 0 23 1
h Stunde im 12-h-Format mit führender Null, Mitternacht & Mittag = 12 11 01
g Stunde im 12-h-Format ohne führende Null, Mitternacht & Mittag = 12 11 1
a / A am und pm, klein- (a) bzw. großgeschrieben (A) pm / PM am / AM
Minute und Sekunde
i Minute mit führender Null, volle Stunde = 00 30 30
s Sekunde mit führender Null, volle Minute = 00 10 10
Umfassende Zeitangabe
c Datum nach ISO 8601 2024-04-30T23:30:10+00:00 2024-05-01T01:30:10+02:00
r Datum nach RFC 2822 Tue, 30 Apr 2024 23:30:10 +0000 Wed, 01 May 2024 01:30:10 +0200
U Unixzeit 1714519810 1714519810
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 → २३, 23 23 (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. April
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

21

Schawwal
10
1445

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

11

31
Ordibehesht
2
1403
03
41

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

22

30
Nisan
Nisan
7
5784

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}} → 182024Tue, 30 Apr 2024 23:30:10 +000030
    • {{#time: "Wort"}} → Wort
    • {{#time: "Wird übermorgen, einem" l "im" F", erledigt."|+ 2 days}} → Wird übermorgen, einem Donnerstag im Mai, 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 22. Nisan 5784
{{#time:xmj. xmF xmY}} Aktuelles Datum nach islamischer Zeitrechnung 21. Schawwal 1445
{{#time:xij. xiF xiY}} Aktuelles Datum nach dem iranischen Kalender 11. Ordibehesht 1403
{{#time:j. F xkY}} Aktuelles Datum nach dem Thailändischen Sonnenkalender 30. April 2567
{{#time:j. F xoY}} Aktuelles Datum nach dem chinesischen Minguo-Kalender 30. April 113
{{#time:xtY/n/j}} Aktuelles Datum nach dem japanischen Nengō-Kalender 令和6/4/30

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: 30.4.2024 23:30:10
{{#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.4.2024 12:50:10
{{#time:j"."n"."Y H":"i":"s|1 day ago}} Gestern zur gleichen Zeit (Vor 24 Stunden) 29.4.2024 23:30:10
{{#time:j"."n"."Y H":"i":"s|yesterday}} Gestern 29.4.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|tomorrow}} Morgen 1.5.2024 00:00:00
{{#time:j"."n"."Y H":"i":"s|1 day}} Morgen zur gleichen Zeit (In 24 Stunden) 1.5.2024 23:30:10
{{#time:j"."n"."Y H":"i":"s|2 days}} Übermorgen 2.5.2024 23:30:10
{{#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 16.7.2026 23:30:10
{{#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 7.6.2025 23:30:10
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“, Mittwoch, dem 1.5.2024:
{{#timel:j"."n"."Y|first monday}} Nächsten Montag (aber nicht mehr heute) 6.5.2024
{{#timel:j"."n"."Y|{{#timel:Ymd|yesterday}}, first wednesday}} Nächsten Mittwoch (ggf. auch heute) 1.5.2024
{{#timel:j"."n"."Y|{{#timel:Ymt}} first wednesday}} Erster Mittwoch des kommenden Monats 5.6.2024
{{#timel:j"."n"."Y|{{#timel:Ym|1 month}}01, last friday}} Letzter Freitag dieses Monats 26.4.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.5.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)