xpath2 | durations, date and time functions (Zeitdauer-, Datums- und Uhrzeitfunktionen)
Mit Hilfe der Zeitdauer-, Datums- und Uhrzeitfunktionen aus der xpath2-Bibliothek können Sie die Zeitzone in Datums- und Uhrzeitwerten anpassen, bestimmte Komponenten aus Datums-, Uhrzeit- und Zeitdauerwerten extrahieren und Datums- und Uhrzeitwerte subtrahieren.
Anpassen der Zeitzone
Zum Anpassen der Zeitzone in Datums- und Uhrzeitwerten stehen die folgenden Funktionen zur Verfügung:
•adjust-date-to-timezone
•adjust-date-to-timezone (mit Zeitzonenargument)
•adjust-dateTime-to-timezone
•adjust-dateTime-to-timezone (mit Zeitzonenargument)
•adjust-time-to-timezone
•adjust-time-to-timezone (mit Zeitzonenargument)
Jede dieser Funktionen erhält einen xs:date, xs:time oder xs:dateTime-Wert als erstes Argument und passt die Input-Daten je nach dem Wert des zweiten Arguments (falls eines vorhanden ist) durch Hinzufügen, Entfernen oder Ändern der Zeitzonen-Komponente an.
Wenn das erste Argument keine Zeitzone enthält, (z.B. das Datum 2009-01 oder die Uhrzeit 14:00:00), ergeben sich die folgenden Möglichkeiten:
•Wenn das Zeitzonenargument vorhanden ist, enthält das Ergebnis die im zweiten Argument angegebene Zeitzone. Die Zeitzone im zweiten Argument wird hinzugefügt.
•Wenn das Zeitzonenargument fehlt, enthält das Ergebnis die implizite Zeitzone, d.h. die Zeitzone des Systems. Die Zeitzone des Systems wird hinzugefügt.
•Wenn das Zeitzonenargument leer ist, enthält das Ergebnis keine Zeitzone.
Wenn das erste Argument eine Zeitzone enthält, (z.B. das Datum 01.01.2020+01:00 oder die Uhrzeit 14:00:00+01:00), ergeben sich die folgenden Möglichkeiten:
•Wenn das Zeitzonenargument vorhanden ist, enthält das Ergebnis die im zweiten Argument angegebene Zeitzone. Die ursprüngliche Zeitzone wird durch die im zweiten Argument definierte Zeitzone ersetzt.
•Wenn das Zeitzonenargument fehlt, enthält das Ergebnis die implizite Zeitzone, d.h. die Zeitzone des Systems. Die ursprüngliche Zeitzone wird durch die Zeitzone des Systems ersetzt.
•Wenn das Zeitzonenargument leer ist, enthält das Ergebnis keine Zeitzone.
Extrahieren von Komponenten von Datums- und Uhrzeitwerten
Um aus Datums- und Uhrzeitwerten numerische Werte wie Stunden, Minuten, Monate, usw. zu extrahieren, stehen die folgenden Funktionen zur Verfügung:
•day-from-date
•day-from-dateTime
•hours-from-dateTime
•hours-from-time
•minutes-from-dateTime
•minutes-from-time
•month-from-date
•month-from-dateTime
•seconds-from-dateTime
•seconds-from-time
•timezone-from-date
•timezone-from-dateTime
•timezone-from-time
•year-from-date
•year-from-dateTime
Jede dieser Funktionen extrahiert eine bestimmte Komponente aus xs:date-, xs:time-, xs:dateTime- und xs:duration-Werten. Das Ergebnis ist entweder ein xs:integer- oder xs:decimal-Typ.
Extrahieren von Zeitdauerkomponenten
Um aus einer Zeitdauer Uhrzeitkomponenten zu extrahieren, stehen die folgenden Funktionen zur Verfügung:
•days-from-duration
•hours-from-duration
•minutes-from-duration
•months-from-duration
•seconds-from-duration
•years-from-duration
Die Zeitdauer muss entweder als xs:yearMonthDuration (zum Extrahieren von Jahren und Monaten) oder als xs:dayTimeDuration (zum Extrahieren von Tagen, Stunden, Minuten und Sekunden) definiert werden. Alle Funktionen geben ein Ergebnis vom Typ xs:integer zurück; ausgenommen davon ist die Funktion seconds-from-duration, die ein Ergebnis vom Typ xs:decimal zurückgibt.
Subtrahieren von Datums- und Uhrzeitwerten
Zum Subtrahieren von Datums- und Uhrzeitwerten stehen die folgenden Funktionen zur Verfügung:
•subtract-dateTimes
•subtract-dates
•subtract-times
Mit Hilfe der Subtraktionsfunktionen können Sie einen Uhrzeitwert von einem anderen subtrahieren und einen Zeitdauerwert errechnen.