Zur Angabe des Datum/Zeit-Formats kann eine Zeichenfolge aus Musterbuchstaben verwendet werden.
Bei der Umwandlung eines Datums oder einer Uhrzeit in eine Zeichenfolge muss ein Formatmuster angewendet werden, über das die Umwandlung gesteuert wird. Verwenden Sie dieses Formatmuster entweder für die Umwandlung eines Datums oder einer Uhrzeit in eine Zeichenfolge oder für die Auswertung einer Zeichenfolge zur Umwandlung in ein Datum oder eine Uhrzeit.
Während der Konvertierung (z. B. eines Datum/Zeit-Formats in eine Zeichenfolge) wird ein Muster oder eine Gruppe von Tokens durch die entsprechende Quelle ersetzt. Aus dem nachfolgenden Diagramm geht hervor, wie ein Muster zum Formatieren einer Datum/Zeit-Quelle verwendet wird, um eine Zeichenfolgeausgabe zu erzeugen.
Beim Auswerten einer Zeichenfolge (z. B. bei der Umwandlung der Zeichenfolge in ein Datum/Zeit-Format) wird das Muster oder die Gruppe von Tokens verwendet, um zu ermitteln, welcher Teil des Datum/Zeit-Zielformats durch welchen Teil der Zeichenfolge dargestellt wird. Im folgenden Diagramm wird gezeigt, wie das funktioniert.
Das Ausdrucksmuster wird wie folgt definiert:
.------------------. V | >>---+-Symbol-------+-+---------------------------------------->< '-Zeichenfolge-'
In der folgenden Tabelle sind die Zeichen aufgelistet, die in einem Muster zur Formatierung bzw. Auswertung von Zeichenfolgen für ein Datum/Zeit-Format verwendet werden können. Nach der Tabelle folgen einige Anmerkungen, die weitere Informationen zu den Beispielen in der Tabelle enthalten.
Symbol | Bedeutung | Darstellung | Beispiele |
---|---|---|---|
a | Kennzeichnung für Vormittag (AM) oder Nachmittag (PM) | Text | Eingabe: am, AM, pm, PM. Ausgabe: AM oder PM |
d | Tag in Monat (1-31) | Nummer | 1, 20 |
dd | Tag in Monat (01-31) | Nummer | 01, 31 |
D | Tag in Jahr (1-366) | Nummer | 3, 80, 100 |
DD | Tag in Jahr (01-366) | Nummer | 03, 80, 366 |
DDD | Tag in Jahr (001-366) | Nummer | 003 |
e | Tag in Woche (1-7)1 | Nummer | 2 |
EEE | Tag in Woche1 | Text | Di |
EEEE | Tag in Woche1 | Text | Dienstag |
F | Wochentag in Monat (1-5)2 | Nummer | 2 |
G | Jahrhundert | Text | v. Chr oder n. Chr |
h | Stunde in AM oder PM (1-12) | Nummer | 6 |
hh | Stunde in AM oder PM (01-12) | Nummer | 06 |
H | Stunde des Tages im 24-Stunden-Format (0-23)3 | Nummer | 7 |
HH | Stunde des Tages im 24-Stunden-Format (00-23)3 | Nummer | 07 |
I | ISO8601 Datum/Zeit (bis jjjj-MM-tt'T'HH:mm:ss.SSSZZZ)4 | Text | 2006-10-07T12:06:56.568+01:00 |
IU | ISO8601 Datum/Zeit (ähnlich wie I, aber ZZZ mit Ausgabe "Z", wenn die Zeitzone +00:00 ist)4 | Text | 2006-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z |
k | Stunde des Tages im 24-Stunden-Format (1-24)3 | Nummer | 8 |
kk | Stunde des Tages im 24-Stunden-Format (01-24)3 | Nummer | 08 |
K | Stunde in AM oder PM (0-11) | Nummer | 9 |
KK | Stunde in AM oder PM (00-11) | Nummer | 09 |
m | Minute | Nummer | 4 |
mm | Minute | Nummer | 04 |
M | Monatszahl | Nummer | 5, 12 |
MM | Monatszahl | Nummer | 05, 12 |
MMM | Monatsname | Text | Jan, Feb |
MMMM | Monatsname | Text | Januar, Februar |
s | Sekunden | Nummer | 5 |
ss | Sekunden | Nummer | 05 |
S | Dezisekunde5 | Nummer | 7 |
SS | Hundertstelsekunde5 | Nummer | 70 |
SSS | Millisekunde5 | Nummer | 700 |
SSSS | 0,0001 Sekunde5 | Nummer | 7000 |
SSSSS | 0,00001 Sekunde5 | Nummer | 70000 |
SSSSSS | 0,000001 Sekunde5 | Nummer | 700000 |
T | ISO8601 Uhrzeit (bis HH:mm:ss.SSSZZZ)4 | Text | 12:06:56.568+01:00 |
TU | ISO8601 Uhrzeit (ähnlich wie T, aber Zeitzone +00:00 wird durch 'Z' ersetzt)4 | Text | 12:06:56.568+01:00, 15:42:12.000Z |
w | Woche in Jahr6 | Nummer | 7, 53 |
ww | Woche in Jahr6 | Nummer | 07, 53 |
W | Woche in Monat7 | Nummer | 2 |
yy | Jahr8 | Nummer | 06 |
yyyy | Jahr8 | Nummer | 2006 |
YY | Jahr: nur mit Woche in Jahr verwenden6 | Nummer | 06 |
YYYY | Jahr: nur mit Woche in Jahr verwenden6 | Nummer | 2006 |
zzz | Zeitzone (abgekürzter Name)9 | Text | EST |
zzzz | Zeitzone (vollständiger Name) | Text | Eastern Standard Time |
Z | Zeitzone (+/-n) | Text | +3 |
ZZ | Zeitzone (+/-nn) | Text | +03 |
ZZZ | Zeitzone (+/-nn:nn) | Text | +03:00 |
ZZZU | Zeitzone (wie ZZZ, "+00:00" wird durch "Z" ersetzt) | Text | +03:00, Z |
ZZZZ | Zeitzone (GMT+/-nn:nn) | Text | GMT+03:00 |
ZZZZZ | Zeitzone (wie ZZZ, aber ohne Doppelpunkt) (+/-nnnn) | Text | +0300 |
' | Auslassung für Text | 'Benutzertext' | |
" | (zwei einfache Anführungszeichen) einfaches Anführungszeichen in Text mit Escapezeichen | 'o"clock' |
Die Darstellung des Datum/Zeit-Objekts richtet sich nach den Symbolen, die Sie festlegen.
Wenn Sie das y-Symbol in Kleinschreibung verwenden, wird keine Anpassung ausgeführt. Für Daten um das Jahresende herum könnten unvorhersehbare Ergebnisse auftreten. Die Zeichenfolge 2002 01 Montag ist beispielsweise wie folgt formatiert:
Y darf nur zusammen mit w; wird w nicht angegeben, müssen Sie y verwenden.
Um diese Probleme zu vermeiden, verwenden Sie die Option zzzz mit einem klar strukturierten Namen, beispielsweise Europa/London, Asien/Dhaka oder Amerika/Los_Angeles.
Wenn Ihre Werte für Datum/Zeit dem ISO8601:2000-Standard zur 'Darstellung von Datum und Uhrzeit' entsprechen, sollten Sie die Verwendung der Formatierungssymbole I und T in Erwägung ziehen, die der folgenden Teilmenge des ISO8601-Standards entsprechen.
Verwenden Sie die Formatierungssymbole I und T nur eigenständig:
Die folgende Tabelle zeigt, wie sich das Ausgabeformat auf den logischen Datentyp bezieht.
Logischer Modelldatentyp | ESQL-Datentyp | Ausgabeformat |
---|---|---|
xsd:dateTime | TIMESTAMP oder GMTTIMESTAMP | jjjj-MM-tt'T'HH:mm:ss.SSSZZZ |
xsd:date | DATE | jjjj-MM-tt |
xsd:gYear | INTERVAL | yyyy |
xsd:gYearMonth | INTERVAL | jjjj-MM |
xsd:gMonth | INTERVAL | --MM |
xsd:gmonthDay | INTERVAL | --MM-dd |
xsd:gDay | INTERVAL | ---dd |
xsd:time | TIME / GMTTIME | 'T'HH:mm:ss.SSSZZZ |
Ein Element oder Attribut des logischen Typs xsd:dateTime oder xsd:time, das eine Datum/Zeit-Angabe als Zeichenfolge enthält, kann die UTC-Zeit (Coordinated Universal Time) angeben, indem entweder das Symbol Z oder Zeitzone +00:00 verwendet wird. Bei der Eingabe erkennt der MRM-Parser das UTC-Format solcher Elemente und Attribute. Bei der Ausgabe können Sie über die Eigenschaft Standardformat für Datum/Zeit verwenden des Elements oder Attributs angeben, ob Z oder +00:00 angezeigt wird. Alternativ können Sie das UTC-Eingabeformat beibehalten, indem Sie die Nachrichtensatzeigenschaft Benutzen Sie das UTC-Format der Eingabe für die Ausgabe auswählen. Wenn diese Eigenschaft ausgewählt ist, wird das UTC-Format unverändert in die Ausgabenachricht übernommen und überschreibt das durch die Datum/Zeit-Formateigenschaft implizierte Format.
Die folgende Tabelle enthält Beispiele für Datum/Zeit-Formate.
Formatmuster | Ergebnis |
---|---|
"yyyy.MM.dd 'um' HH:mm:ss ZZZ" | 2006.07.10 um 15:08:56 -05:00 |
"EEE, MMM d, "yy" | Mit, Juli 10, '06 |
"h:mm a" | 8:08 PM |
"hh Uhr" a, ZZZZ" | 09 Uhr AM, GMT+09:00 |
"K:mm a, ZZZ" | 9:34 AM, -05:00 |
"yyyy.MMMMM.dd hh:mm aaa" | 1996.Juli.10 12:08 PM |