Help:Datentyp Datum

Der Datentyp Datum wird Attributen zugeordnet, mit denen Datums- und Zeitangaben gespeichert werden. Es unterstützt dabei, über die gesamte Zeitspanne menschlicher Geschichtsschreibung hinweg, die Angabe standardisierter Datumsangaben. Zudem werden Optionen zur Lokalisierung der Angaben in unterschiedlichen Sprachen angeboten. Alle Datums- und Zeitangaben beziehen sich dabei auf die Zeiteinstellung des genutzten Servers. In einem Wiki kann zudem die Zeitzone, auf die sich diese Zeiteinstellung des Servers bezieht, entsprechend allgemeiner Konventionen eingestellt werden. Beim Export werden die Zeitangaben allerdings ohne die Angaben zur Zeitzone ausgegeben. Angaben zum Zeitunterschied in Bezug auf die Zeiteinstellung des Servers werden hingegen zu diesem Zweck unterstützt.

Seite SMW 1.8.0 werden die Datumsangaben in einem vollständig serialisierten Format gespeichert, das auch das Kalendersystem umfasst.

Eingabebeispiele
Es folgt eine beispielhafte Liste korrekt angegebener Datums- und Zeitangaben: Testdatum::11. Februar 2011 10:00:01 → vollständige Datums- und Zeitangabe Testdatum::11. Februar 2011 → nur die Datumsangabe Testdatum::2011 → nur die Jahresangabe Testdatum::2011-02-11T22:00:01 → vollständige Datums- und Zeitangabe im ISO-Format Testdatum::2011-02-11T22:00:01+02:00 → vollständige Datums- und Zeitangabe im ISO-Format mitsamt Zeitunterschied Testdatum::2011 Februar 11 → nur die Datumsangabe in abweichender Reihenfolge Testdatum::2-3-2011 → unterschiedliche Separatoren, die in jeder Sprache unterstützt werden, bevorzugte Formatierung Testdatum::2/3/2011 → unterschiedliche Separatoren, die in jeder Sprache unterstützt werden Testdatum::2.3.2011 → unterschiedliche Separatoren, die in jeder Sprache unterstützt werden Testdatum::11. Februar 2011 BC → Datumsangabe v. u. Z. Testdatum::14000000000 BC → das geschätzte Alter des Universums Testdatum::11. Februar 2011 Jl → Datumsangabe für den Julianischen Kalender Testdatum::11. Februar 2011 Gr → Datumsangabe für den Gregorianischen Kalender Testdatum::11. Februar 2011 MEZ → Datumsangabe mit Zeitzone

Für anderen Sprachen werden abweichende Monatsnamen akzeptiert. Ebenso kann bei zweideutigen Datumsangaben eine bevorzugte Interpretation gewählt werden. Das Grundformat von Datums- und Zeitangaben ist hingegen gleich.

Ausgabeformat
Die Anzeige von Daten erfolgt in einem einfachen Format, das nicht durch die Benutzer über die Spracheinstellung des Wikis geändert werden kann. Die Monatsnamen der angezeigten Datumsangaben entsprechen denen der Sprache, in der das Wiki installiert wurde, sofern für die entsprechende Sprache Übersetzungen vorhanden sind. Seit Version 1.7.0 von Semantic MediaWiki kann man der Ausgabeanweisung den Parameter „ “ anhängen, um so die von MediaWiki bereitgestellten I18N-Funktionen zu nutzen. Anstatt der Ausgabe von „11 Februar 2011“ mit der Ausgabeanweisung, kann man sich „11. Februar 2011“ über die Ausgabeanweisung  anzeigen lassen. Der Parameter funktioniert allerdings nur für die eingeschränkte Zeitspanne vom 14. Dezember 1901 bis zum 19. Januar 2038, die von MediaWiki unterstützt wird.

Sofern man das einfache Format auch bei der Ausgabe der Ergebnissen im Rahmen von eingebetteten Abfragen oder Konzepten beibehalten möchte, hängt man der Ausgabeanweisung den Parameter „ “ an. Anstatt der Ausgabe von „11 Februar 2011“ mit der Ausgabeanweisung, kann man sich „2011-02-11“ über die Ausgabeanweisung   anzeigen lassen. Dies entspricht dann dem international standardisierten ISO-Format für Datumsangaben.

Die Anzeige gestattet auch das Weglassen von Angaben. Ein Datum, das lediglich mit „2000“ angegeben wird, wird auch sonst als „2011“ angezeigt, obwohl diese Angabe bei Vergleichen mit anderen Datumsangaben als „1 Januar 2011 00:00:00“ interpretiert werden wird.

Kalendersysteme
Der Datentyp Datum unterstützt momentan zwei Kalendersysteme, den Gregorianischen Kalender und den Julianischen Kalender. Dabei werden die Datumsangaben vor dem 24. Februar 1582, dem Durchführungsdatum der Kalenderreform, standardmäßig dem Julianischen Kalender und die Datumsangaben nach diesem Datum, standardmäßig dem Gregorianischen Kalender zugerechnet. Es ist dennoch möglich manuell das jeweils abweichende Kalendermodell zu spezifizieren, indem man der Datumsangabe entweder den Zusatz „ “ oder „ “ mit angibt (siehe Beispiele oben auf dieser Seite).

Intern nutzt Semantic MediaWiki einen proleptischen Gregorianischen Kalender, der als Erweiterung zum Gregorianischen Kalender, Datumsangaben vor dessen Einführung gemäß seinem System ermöglicht.

Seit SMW 1.8.0 werden die beiden Ausgabeparameter „ “ und „ “ unterstützt. Sie können bei eingebettete Abfragen dazu genutzt werden, die Ausgabe des Ergebnisdatums in einem bestimmten Kalendersystem festzulegen. Die gleichen Zeichenketten werden bereits zur Angabe des Kalendersystems beim Hinterlegen von Datumswerten genutzt. Sofern kein Kalendersystem angegeben wird, wird sowohl für die Ein- wie auch für die Ausgabe das gleiche Kalendersystem angenommen und somit genutzt.

Anstatt der Ausgabe von „6. November 1796 Jl“ mit der Ausgabeanweisung, kann man sich „17. November 1796 Gr“ über die Ausgabeanweisung  anzeigen lassen.

Datumsbereich
Der Datentyp Datum kann Datums- und Zeitangaben des gesamten Zeitverlaufs mit vollständiger Präzision speichern. Beim Sortieren sowie bei Abfragen ist dies noch im beträchtlichen Umfang möglich. Der unterstützte Datumsbereich sollte dabei den Anbeginn der Zeit überschreiten. Zukünftige Datums- und Zeitangaben werden hingegen restriktiver gehandhabt, ermöglicht dennoch Jahreszahlen mit einer Zehnerpotenz von Neun (109).

Jahre v. u. Z., das Jahr 0 und negative Jahresangaben
Jahre von unserer Zeitrechnung (engl. BC) können unter Angabe des Zusatzes „ “ angegeben werden (siehe Beispiele oben auf dieser Seite). Die Verwendung der deutschen Abkürzungen wird aktuell nicht unterstützt.

Dabei wird angenommen, dass es kein Jahr 0 gab, da die historische Jahresfolge … 2 v. u. Z., 1 v. u. Z., 1 u. Z., 2 u. Z. … ist. Sofern das Jahr 0 angegeben wird, wird es gemäß des internen Datenmodells von Semantic MediaWiki als Jahr 1 u. Z. interpretiert. Es wird allerdings davon abgeraten diese Angabe zu verwenden. Dementsprechend ist das Jahr „-100“ gleichbedeutend mit dem Jahr „101 BC“. Dies entspricht den Konventionen der Norm ISO 6801 und den Vorgaben des XML Schema Datatypes 2nd Edition.

Momentan unterstützt Semantic MediaWiki nicht die Angabe negativer Jahreszahlen. Diese werden ausschließlich softwareintern verwendet.

Zeitunterschiede und Zeitzonen
Zeitunterschiede wie bwsp. „11. Februar 2011 12:00-02:00“ werden unterstützt. Sie beziehen sich dabei auf die die Zeiteinstellung des genutzten Servers. Zudem werden Schaltjahre bei der Angabe von Zeitunterschieden berücksichtigt. Das Datum „28. Februar 2008 23:00+2:00“ entspricht also dem Datum „29. Februar 2008 01:00:00“, während der „28. Februar 2000 23:00+2:00“ dem „1. März 2000 01:00:00“ entspricht. Zeitunterschiede können zudem mit der üblichen Abkürzung für die Zeitzonen, bspw. ADT, AST, CET, CST, CXT, EST, HAC, HAT, HNR, MEZ, MST, NFT, B, V, X, etc. angegeben werden: „11. Februar 2011 08:00:00 MEZ“.

Datumssortierung in Tabellen
Der von MediaWiki bereitgestellte Code für sortierbare Tabellen (class="sortable") kann Datumsangaben nicht richtig verarbeiten. Um Datumsangaben dennoch richtig sortieren zu können, muss HTML für das Attribut „data-sort-value“ der TD-Elemente ein numerischer Sortierschlüssel bereitgestellt werden (siehe den Quellcode einer von SWM generierten Tabelle für Beispiele). Damit dieser Sortierschlüssel bereitgestellt werden kann, wurde der neue Parameter  eingeführt, den man der Ausgabeanweisung zum Attribut dieses Datentyps anhängen kann, der dann abgerufen werden kann. Das folgende Beispiel veranschaulicht das Gemeinte. Mit dieser Abfrage werden die Datumsangaben mitsamt dem Sortierschlüssel angezeigt:

Zu Attributen für die eine Vielzahl von Werten vorhanden sind, muss nur ein Sortierschlüssel verwendet werden, da die gesamte Tabellenzeile als Einheit sortiert wird, selbst wenn sich mehrere Datumsangaben in einer einzelnen Zelle befinden. Dies wird wie im folgenden Beispiel dargestellt, unter Verwendung des Parameters  erzielt:

Unvollständige Datumsangaben
Semantic MediaWiki erkennt und speichert Datums- und Zeitangaben, bei denen Teile des Datums oder der Zeit weggelassen wurden, wie bspw. „2011“ oder „Februar 2011“. Beim Exportieren solcher Datumsangaben werden die fehlende Datums- und Zeitbestandteile mit Standardwerten ergänzt, die gewöhnlich dem frühsten Zeitpunkt für die angegebenen Werte entsprechen. „2011“ wird demnach als „1 Januar 2011 00:00:00“ exportiert. Diese die Datums- oder Zeitangaben ergänzenden Standardwerte werden allerdings nur intern gespeichert und nicht, bspw. im Rahmen von eingebetteten Abfragen oder Konzepten als Ergebnisse angezeigt.

Es können auch nur die Tages- und Monatsangaben entfallen. Die Angabe „Februar 2011“ ist also möglich, während „11. Februar“ nicht möglich ist. Dies ist deshalb so, da dem letztgenannten Wert kein sinnvoller Standartwert zugeordnet werden kann, wie er bspw. für den Vergleich mit anderen Datumsangaben erforderlich ist. Für das Sortieren und Abfragen von Datums- und Zeitangaben ist also stets ein konkreter Zeitpunkt vonnöten, der ggf. intern nach vorstehender Beschreibung ermittelt und gesetzt wird.

Offene Punkte

 * Die Anzeige von Datums- und Zeitangaben folgt der bei der Installation von MediaWiki verwendeten Sprache und kann nicht individuell durch die Benutzer, über deren persönliche Spracheinstellung des Wikis, geändert werden kann.
 * Die Zusatzangaben „ “, „ “, „ “ oder „ “ sind für alle Sprachen gleich.
 * Die Umrechnung zwischen historischen Kalendermodellen wird nicht unterstützt.