In diesem Abschnitt erfahren Sie, wie Sie das dateTime-Format mit Hilfe einer Zeichenfolge von Musterbuchstaben festlegen.
Bei der Konvertierung eines Datums oder einer Uhrzeit in eine Zeichenfolge kann ein Formatmuster angewendet werden, über das die Konvertierung gesteuert wird. Dies gilt für die Formatierung einer Zeichenfolge aus einem Datum oder einer Uhrzeit bzw. für die Auswertung einer Zeichenfolge zur Konvertierung in ein Datum oder eine Uhrzeit.
Während der Formatierung (z. B. eines Datum/Uhrzeit-Formats in eine Zeichenfolge) wird ein Muster oder eine Gruppe von Tokens durch die entsprechende Quelle ersetzt. In Abbildung 1 wird dieser Vorgang dargestellt.
Beim Auswerten einer Zeichenfolge (z. B. um sie in ein Datum/Uhrzeit-Format zu konvertieren) wird das Muster oder die Gruppe von Tokens verwendet, um zu ermitteln, welcher Teil des Datum/Uhrzeit-Zielformats durch welchen Teil der Zeichenfolge dargestellt wird. In Abbildung 2 wird dieser Vorgang dargestellt.
Das Ausdrucksmuster wird wie folgt definiert:
.--------------.
| .- -. |
V V | |
>------+-Symbol-+->
'-Zeichenfolge-'
In der folgenden Tabelle sind die zulässigen Zeichen aufgelistet, die in einem Muster zur Formatierung bzw. Auswertung von Zeichenfolgen für ein Datum/Uhrzeit-Format verwendet werden können.
Symbol | Beschreibung | 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) | Zahl | 1, 20 |
dd | Tag in Monat (01-31) | Zahl | 01, 31 |
D | Tag in Jahr (1-366) | Zahl | 3, 80, 100 |
DD | Tag in Jahr (01-366) | Zahl | 03, 80, 366 |
DDD | Tag in Jahr (001-366) | Zahl | 003 |
e | Tag in Woche (1-7) | Nummer | 26 |
EEE | Tag in Woche | Text | Di |
EEEE | Tag in Woche | Text | Dienstag |
F | Wochentag in Monat (1-5) | Zahl | 2 (für zweiten Mittwoch im Juli)3 |
G | Jahrhundert | Text | v.Chr oder n.Chr |
h | Stunde in AM oder PM (1-12) | Zahl | 6 |
hh | Stunde in AM oder PM (01-12) | Zahl | 06 |
H | Stunde des Tages im 24-Stunden-Format (0-23) | Zahl | 77 |
HH | Stunde des Tages im 24-Stunden-Format (00-23) | Zahl | 077 |
I | ISO8601 Datum/Uhrzeit (bis JJJJ-MM-TT'T'HH:mm:ss.SSSZZZ) | Text | 2004-10-07T12:06:56.568+01:005 |
IU | ISO8601 Datum/Uhrzeit (wie oben, aber ZZZ mit Ausgabe "Z", wenn die Zeitzone +00:00 ist) | Text | 2004-10-07T12:06:56.568+01:00, 2003-12 -15T15:42:12.000Z 5 |
k | Stunde des Tages im 24-Stunden-Format (1-24) | Zahl | 87 |
k | Stunde des Tages im 24-Stunden-Format (01-24) | Zahl | 087 |
K | Stunde in AM oder PM (0-11) | Zahl | 9 |
KK | Stunde in AM oder PM (00-11) | Zahl | 09 |
m | Minute | Zahl | 4 |
mm | Minute | Zahl | 04 |
M | Monatszahl | Zahl | 5, 12 |
MM | Monatszahl | Zahl | 05, 12 |
MMM | Monatsname | Text | Jan, Feb |
MMMM | Monatsname | Text | Januar, Februar |
s | Sekunden | Zahl | 5 |
ss | Sekunden | Zahl | 05 |
S | Zehntelsekunde | Zahl | 78 |
SS | Hundertstelsekunde | Zahl | 708 |
SSS | Millisekunde | Zahl | 7008 |
SSSS | 1/10.000 Tausendstelsekunden | Zahl | 70008 |
SSSSS | 1/100.000 Tausendstelsekunden | Zahl | 700008 |
SSSSSS | 1/1.000.000 Tausendstelsekunden | Zahl | 7000008 |
T | ISO8601 Uhrzeit (bis HH:mm:ss.SSSZZZ) | Text | 12:06:56.568+01:005 |
TU | ISO8601 Uhrzeit (wie oben, aber Zeitzone +00:00 wird durch 'Z' ersetzt) | Text | 12:06:56.568+01:00, 15:42:12.000Z5 |
w | Woche in Jahr | Zahl | 7, 532 |
ww | Woche in Jahr | Zahl | 07, 532 |
W | Woche in Monat | Zahl | 24 |
yy | Jahr | Zahl | 961 |
jjjj | Jahr | Zahl | 19961 |
YY | Jahr: nur mit Woche in Jahr verwenden | Zahl | 962 |
YYYY | Jahr: nur mit Woche in Jahr verwenden | Zahl | 19962 |
zzz | Zeitzone (abgekürzter Name) | Text | GMT |
zzzz | Zeitzone (vollständiger Name) | Text | Greenwich Mean 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 ausgelassenem Text | 'z.''B.' |
Die Darstellung des Datum-/Uhrzeit-Objekts richtet sich danach, welche Symbole Sie wie folgt festlegen:
Wenn Sie das y-Symbol verwenden, wird keine Anpassung ausgeführt. Für Daten um das Jahresende herum könnten unvorhersehbare Ergebnisse auftreten. Die Zeichenfolge "2005 01 Montag" ist beispielsweise wie folgt formatiert:
Wenn Ihre Wert für Datum und Uhrzeit dem ISO8601:2000-Standard zur 'Darstellung von Datum und Uhrzeit' entsprechen, sollten Sie die Verwendung der Formatierungssymbole I und T in Erwägung ziehen. Diese entsprechen einer Untermenge des ISO8601-Standards, nämlich:
Diese Symbole sollten nur allein verwendet werden.
Bei der Ausgabe wird abhängig vom logischen Datentyp folgendes Format angewendet:
Logischer MRM-Datentyp | Logischer 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 | jjjj |
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/Uhrzeit-Angabe als Zeichenfolge enthält, kann die UTC-Zeit (Consolidated Universal Time) angeben, indem entweder das Zeichen 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 Datum/Uhrzeit-Eigenschaft (dateTime) des Elements oder Attributs angeben, ob Z oder +00:00 angezeigt werden soll. Alternativ können Sie das UTC-Eingabeformat beibehalten, indem Sie die Nachrichtengruppeneigenschaft Benutzen Sie das UTC-Format der Eingabe für die Ausgabe aktivieren. Wenn diese Eigenschaft aktiviert ist, wird das UTC-Format unverändert in die Ausgabenachricht übernommen und überschreibt das durch die Datum/Uhrzeit-Formateigenschaft implizierte Format.
Die folgende Tabelle enthält Beispiele für Datum/Uhrzeit-Formate:
Formatmuster | Ergebnis |
---|---|
"yyyy.MM.dd'um'HH:mm:ss ZZZ" | 1996.07.10 um 15:08:56 -05:00 |
EEE, MMM d, "yy" | Mit, Juli 10, '96 |
"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 |