fn:day-from-dateTime

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

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

   

Kategorie: Wertextraktion aus Zeitwerten, Datumswerten und Dauer

Herkunft: XPath 2.0

Rückgabewert: Eine Ganzzahl vom Typ xs:integer, die dem Wert der Tag­komponente innerhalb des übergebenen Zeitstempelwertes entspricht

Aufruf/Argumente:

fn:day-from-dateTime($zeitstempelwert)

$zeitstempelwert:
Optional. Ein Zeitstempelwert vom Typ xs:dateTime, der eine Zeitzonenangabe beinhalten kann. Wird die leere Sequenz übergeben, so gibt die Funktion ebenfalls die leere Sequenz zurück.

Verwendungszweck:

Die Funktion gibt eine Ganzzahl zwischen ein­schließlich 1 bis 31 zurück, die dem Wert der Tageskomponente des überge­benen Zeitstempelwertes vom Typ xs:dateTime entspricht. Der Wert wird vorher normalisiert, d.h., der Zeitzonenfaktor wird in die Tageskomponente mit einbezogen (siehe Bei­spiele). Dies kann einen Datumssprung zum Vor- oder Folgetag bewirken, sofern der normalisierte Tageszeitanteil auf Grund des Zeitzonenkorrekturfak­tors den Wert T00:00:00 unter- oder den Wert T23:59:59 überschreitet. In diesem Fall wird ein anderer Wert als der möglicherweise erwartetete ausgege­ben (siehe Beispiel 3).

Beispiele:

Beispiel 1 – Tag aus Zeitstempelwert mit negativem Zeitzonenwert:

fn:day-from-dateTime(
       xs:dateTime("2007-07-25T12:30:00-05:00")
  )

gibt 25 zurück. Der negative Zeitzonenwert bewirkt in diesem Fall keinen Sprung des Datums. Die Subtraktion bewirkt eine normalisierte Tageszeitkom­ponente von T17:30:00.

Beispiel 2 – Tag aus Zeitstempelwert mit negativem Zeitzonenwert:

fn:day-from-dateTime(
       xs:dateTime("2007-08-01T04:30:00-05:00")
  )

gibt 1 zurück. Der negative Zeitzonenwert bewirkt in diesem Fall keinen Sprung des Datums. Die Subtraktion T04:30:00 -(-5:00) bewirkt eine nor­malisierte Tageszeitkomponente von T09:30:00.

Beispiel 3 – Tag aus Zeitstempelwert mit positivem Zeitzonenwert:

fn:day-from-dateTime(
       xs:dateTime("2007-08-01T04:30:00+05:00")
  )

gibt den Wert 31 zurück und nicht 1, wie vielleicht erwartet. Die positive Zeit­zone wird bei der Normalisierung subtrahiert: T04:30:00 -(+5:00) und bewirkt einen Datumssprung zum Vortag – hier zum 31. des Vormonats.

Funktionsdefinition:

XPath 1.0:

Funktion nicht verfügbar

XPath 2.0:

fn:day-from-dateTime($arg as xs:dateTime?) as xs:integer?

   

<< 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