Uhrzeit mit fn:current-time()

(Auszug aus "XSLT 2.0 & XPath 2.0" von Frank Bongers, Kapitel 3.)

Analog zur Ermittlung des aktuellen Datums funktioniert die der aktuellen Systemzeit. Hierzu dient fn:current-time(), die einen Zeitwert xs:time zurückgibt, der die Stringform 20:58:23.125+01:00 oder ähnlich besitzt:

<xsl:variable name="uhrzeit" select="fn:current-time()"/>
  

Code-Beispiel: kap03/3.05/date.xsl (Auszug).

Zur Formatierung wird in diesem Fall die XSLT-Funktion format-time() herangezogen, die prinzipiell genau wie format-date() eingesetzt wird.

<p>Es ist jetzt <xsl:value-of select="format-time($uhrzeit,'[H01]:[m01]')"/> Uhr und <xsl:value-of select="format-time($uhrzeit,'[s01]')"/> Sekunden.</p>

Code-Beispiel: kap03/3.05/date.xsl (Auszug).

Da die Uhrzeit in einer Variablen steht, kann diese problemlos zweimal herangezogen werden um erst Stunden und Minuten und anschließend die Sekunden zu ermitteln und auszugeben.

In diesem Fall geht es jedoch auch einfacher, da der Formatierungsstring neben den Ausgabespezifikatoren, die die zu extrahierenden Zeitkomponenten bezeichnen, auch beliebige Literale enthalten darf. Man kann also mit gleicher Wirkung in einem Aufruf schreiben:

<p><xsl:value-of select="format-time($uhrzeit,'Es ist jetzt [H01]:[m01] Uhr und [s01] Sekunden.')"/></p>

Code-Beispiel: kap03/3.05/date.xsl (Auszug).

Dies erzeugt in beiden Fällen Ausgaben wie »Es ist jetzt 21:30 Uhr und 50 Sekunden«. Wollen Sie statt der 24-Stundenskala eine auf zwölf Stunden basierende Ausgabe, so muss der Formatierungsstring geringfügig geändert werden:

format-time($uhrzeit,'Es ist jetzt [h01]:[m01] Uhr')

erzeugt die Ausgabe »Es ist jetzt 09:30 Uhr«. In diesem Fall kommt jedoch die Information gelegen, ob es sich um Vormittag oder Nachmittag handelt. Diese Komponentewird mit dem Spezifikator P ermittelt:

format-time($uhrzeit,'Es ist jetzt [h01]:[m01] Uhr [P]')

erzeugt die Ausgabe »Es ist jetzt 09:30 Uhr p.m.«.

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © Galileo Press, Bonn 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "XSLT 2.0 & XPath 2.0 ― Das umfassende Handbuch" denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Galileo Press, Rheinwerkallee 4, 53227 Bonn