format-dateTime
Konvertiert einen Wert vom Typ xs:dateTime in einen String. Die String-Darstellung von Datum und Uhrzeit wird entsprechend dem Wert des Arguments format formatiert.

Sprachen
Built-in, C++, C#, Java, XSLT 2.0, XSLT 3.0..
Parameter
Argument | Beschreibung | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
value | Der zu formatierenden xs:dateTime-Wert. | ||||||||||
format | Ein Formatstring, der definiert, wie value formatiert werden soll. Siehe Anmerkungen weiter unten. | ||||||||||
language | Optionales Argument. Wird dieses Argument zur Verfügung gestellt, werden der Name des Monats und der Wochentag in einer bestimmten Sprache zurückgegeben. Gültige Werte:
|
Anmerkung: | Wenn die Ausgabe der Funktion (result) mit einem Node verbunden ist, dessen Typ nicht "string" ist, kann die Formatierung verloren gehen, da der Wert in den Zieltyp konvertiert wird. Diese automatische Konvertierung kann durch Deaktivieren des Kontrollkästchens Zielwerte in Zieltypen konvertieren in den Komponenteneinstellungen der Zielkomponente deaktiviert werden. |
Anmerkungen
Das Argument format besteht aus einem String, der so genannte Variablen-Marker enthält, die innerhalb von eckigen Klammern stehen, z.B. [J]/[M]/[T]. Zeichen außerhalb von eckigen Klammern sind Literalzeichen. Wenn das Ergebnis eckige Klammern als Literalzeichen enthalten soll, so sollten diese eckigen Klammern verdoppelt werden.
Jeder Variablen-Marker besteht aus einem Komponenten-Specifier, der angibt, welche Komponente des Datums oder der Uhrzeit angezeigt werden soll, einem optionalen Formatierungs-Modifier, einem weiteren optionalen Darstellungs-Modifier und einem optionalen Breiten-Modifier. Vor diesen Modifiern steht, falls vorhanden, ein Komma.
format := (literal | argument)* argument := [component(format)?(presentation)?(width)?] width := , min-width ("-" max-width)? |
Die Komponenten sind:
Specifier | Beschreibung | Standarddarstellung |
---|---|---|
Y | Jahr (absoluter Wert) | vier Stellen (2010) |
M | Monat des Jahres | 1-12 |
D | Tag des Monats | 1-31 |
d | Tag des Jahres | 1-366 |
F | Wochentag | Name des Tages (sprachabhängig) |
W | Woche des Jahres | 1-53 |
w | Woche des Monats | 1-5 |
H | Stunde (24 Stunden) | 0-23 |
h | Stunde (12 Stunden) | 1-12 |
P | A.M. oder P.M. | alphabetisch (sprachabhängig) |
m | Minuten in Stunde | 00-59 |
s | Sekunden in Minute | 00-59 |
f | Sekundenbruchteile | numerisch, eine Dezimalstelle |
Z | Zeitzone, als Zeitabstand von UTC | +08:00 |
z | Zeitzone als Zeitabstand von GMT | GMT+n |
Als Formatierungs-Modifier kann eines der folgenden Zeichen verwendet werden:
Zeichen | Beschreibung | Beispiel |
---|---|---|
1 | Numerisches Dezimalformat ohne vorangestellte Null: | 1, 2, 3 |
01 | Dezimalformat, zwei Stellen: | 01, 02, 03 |
N | Name der Komponente, Großbuchstaben1 | MONTAG, DIENSTAG |
n | Name der Komponente, Kleinbuchstaben1 | monday, tuesday |
Nn | Name der Komponente, beginnend mit einem Großbuchstaben1 | Montag, Dienstag |
Fußnoten:
1. Die Modifier N, n und Nn werden nur von den folgenden Komponenten unterstützt: M, d, D.
Der Breiten-Modifier wird, falls erforderlich, durch ein Komma, gefolgt von einer Ziffer, die für die Mindestbreite steht, eingefügt. Optional können Sie einen Bindestrich, gefolgt von einer weiteren Ziffer, die die Maximalbreite angibt, hinzufügen. Zum Beispiel:
•[D,2] ist der Tag des Monats mit einer vorangestellten Null (zwei Stellen).
•[MNn,3-3] ist der Name des Monats in Form einer Abkürzung bestehend aus drei Buchstaben, z.B. Jan, Feb, Mar usw.
Beispiele
In der nachstehenden Tabelle sehen Sie einige Beispiele für die Formatierung von xs:dateTime-Werten mit Hilfe der format-dateTime-Funktion. In der Spalte "Wert" finden Sie den Wert, der für das Argument value bereitgestellt wird. In der Spalte "Format" ist der Wert des Arguments format angegeben. In der Spalte "Ergebnis" finden Sie das Ergebnis der Funktion.
Wert | Format | Ergebnis |
---|---|---|
2003-11-03T00:00:00 | [D]/[M]/[Y] | 3/11/2003 |
2003-11-03T00:00:00 | [Y]-[M,2]-[D,2] | 2003-11-03 |
2003-11-03T00:00:00 | [Y]-[M,2]-[D,2] [H,2]:[m]:[s] | 2003-11-03 00:00:00 |
2010-06-02T08:02 | [Y] [MNn] [D01] [F,3-3] [d] [H]:[m]:[s].[f] | 2010 June 02 Wed 153 8:02:12.054 |
2010-06-02T08:02 | [Y] [MNn] [D01] [F,3-3] [d] [H]:[m]:[s].[f] [z] | 2010 June 02 Wed 153 8:02:12.054 GMT+02:00 |
2010-06-02T08:02 | [Y] [MNn] [D1] [F] [H]:[m]:[s].[f] [Z] | 2010 June 2 Wednesday 8:02:12.054 +02:00 |
2010-06-02T08:02 | [Y] [MNn] [D] [F,3-3] [H01]:[m]:[s] | 2010 June 2 Wed 08:02:12 |