HTML5: time, datetime und pubdate

Das HTML5-Tag <time> adressiert den Bedarf für das semantische Kennzeichnen eines Datums bzw. einer Uhrzeit. Es ermöglicht die Definition sowohl eines von Maschinen als auch von Menschen lesbaren Datum bzw. einer Uhrzeit. Auf diese Weise können Sie einfach „Gestern“ dem Benutzer angezeigen und Software die ihre Seite parsen wissen lassen, dass es tatsächlich der 7. Dezember 2012 war.

<time> ist natürlich auch nützlich wenn man mit unterschiedlichen Zeitzonen arbeitet. Angenommen, Sie leben in Deutschland, sind aber auf einer Geschäftsreise in Indien und schreiben ein Artikel um 14 Uhr. Für den Leser ist es offensichtlich, dass es 14.00 Uhr indische Zeit ist. Aber eine Maschine wird nicht verstehen, dass, wenn Sie 14 Uhr schreiben, es normalerweise 14 Uhr mitteleuropäischer Zeit bedeutet, aber in diesem bestimmten Artikel ist es nicht der Fall. Auf der anderen Seite, lesen Besucher ihrer Seite sicher nicht gern Uhrzeiten Angaben mit Zeitzonen-Offset (besonders, wenn es aus dem Kontext klar ist, um welche Zeitzone es sich handelt).

Das <time> tag zu verwenden ist ganz einfach. Hier ein Beispiel:

Natürlich, hier nur „2011.12.25“ als Datum / Uhrzeit zu markieren, bring nicht unbedingt viel. Wenn das datetime-Attribut nicht verwendet wird, muss der Inhalt der Zeitmarke ein gültiges Datum / Uhrzeit enthalten d.h. ein maschinenlesbare Datum / Zeit sein.

Es wird erst wirklich interessant, wenn man „Vergangenes Weihnachten“ als Menschen lesbares Datum schreibt und Robote mitteilt, dass es als den 25. Dezember 2011 zu verstehen ist. Das ist auch wirklich einfach. Man muss einfach folgendes verwenden:

Dies wird als Vergangenes Weihnachten angezeigt. Es wird aber durch eine Maschine als 2011.12.25 verstanden.

Anstelle eines Datums, kann auch eine Zeit, z.B.:

oder ein Datum und eine Zeit z.B.:

verwendet werden.

Wenn ein Datum und eine Uhrzeit angeben werden, muss entweder einen Offset gegenüber der UTC-Zeit oder „Z“ für die UTC-Zeit angegeben werden z.B. 2012-12-13T23:07+00:00 ist dasselbe wie 2012-12-13T23:07Z.

Ein Teil des Datums kann auch weggelassen werden z.B. 12-08 für den 8. Dezember oder es kann auch ein Dauer angegeben werden. Ein Dauer-Angabe fängt mit einem P an (wie Period) und wird so definiert:

  • PnYnMnDTnHnMnS z.B. P3Y für drei Jahre oder PT2H25M für 2 Stunden und 25 Minuten
  • PnW z.B. P2W für 2 Wochen

Beachten Sie, dass P1M einen Monat bedeutet und PT1M eine Minute.

Eine Einschränkung vom <time> Tag ist, dass es nur Daten in der christlichen Ära darstellen kann. Ältere Daten können nicht kodiert werden. Also, wenn Sie eine Online-Biographie von Julius Caesar erstellen, werden Sie das <time> Tag kaum verwendet können (außer bei Verweisen auf Bücher die über ihn später geschrieben wurden).

Beachten Sie, dass das <time> Tag aus der HTML5-Spezifikation im letzten Jahr wurde entfernt (um vom <data> tag ersetzt zu werden), aber es wieder in HTML5 kurz danach wieder aufgenommen wurde. So ist die Zukunft von diesem Tag nicht 100% klar, aber zumindest ist es in WordPress und Drupal übernommen worden. So ist es recht verbreitet.

Der pubdate Attribut wird verwendet, um zu sagen, wer das angegebene Datum/Uhrzeit,  der Zeitpunkt darstellt, wann  der Artikel / das Dokument veröffentlicht wurde. Um genau zu sein, sagt es, dass es sich um die Veröffentlichung des nähersten <article> falls vorhanden oder des gesamten Dokument. Es gibt auch Chancen, dass pubdate aus der HTML5-Spezifikation entfernt wird. Deshalb melden mehrere HTML5-Validatoren seine Präsenz als Validierungsfehler.

14. Dezember 2012

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.