Datum/Zeit als Zeichenfolgedaten

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.

Dieses Diagramm zeigt die Ausgabezeichenfolge, die sich aus einer Datum/Zeit-Quelle und einem Formatmuster ergibt.

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.

Dieses Diagramm zeigt die Datum/Zeit-Ausgabe, die sich aus einer Zeichenfolgedatenquelle und einem Formatmuster ergibt.

Syntax

Das Ausdrucksmuster wird wie folgt definiert:

Dabei gilt:
Symbol
ist ein Zeichen im Zeichensatz adDeEFGhHIkKmMsSTUwWyYzZ.
Zeichenfolge
ist eine Zeichenfolge in einfachen Anführungszeichen. Wenn innerhalb der Zeichenfolge ein einfaches Anführungszeichen erforderlich ist, verwenden Sie zwei einfache Anführungszeichen (").

Zeichen zum Formatieren eines Datum/Zeit-Formats als eine 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) 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)1 Nummer 2
EEE Tag in Woche1 Text Di
EEEE Tag in Woche1 Text Dienstag
F Wochentag in Monat (1-5)2 Zahl 2
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)3 Zahl 7
HH Stunde des Tages im 24-Stunden-Format (00-23)3 Zahl 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 Zahl 8
k Stunde des Tages im 24-Stunden-Format (01-24)3 Zahl 08
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 Dezisekunde5 Zahl 7
SS Hundertstelsekunde5 Zahl 70
SSS Millisekunde5 Zahl 700
SSSS 0,0001 Sekunde5 Zahl 7000
SSSSS 0,00001 Sekunde5 Zahl 70000
SSSSSS 0,000001 Sekunde5 Zahl 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 Zahl 7, 53
ww Woche in Jahr6 Zahl 07, 53
W Woche in Monat7 Zahl 2
yy Jahr8 Zahl 06
yyyy Jahr8 Zahl 2006
YY Jahr: nur mit Woche in Jahr verwenden6 Zahl 06
YYYY Jahr: nur mit Woche in Jahr verwenden6 Zahl 2006
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 Text mit Escapezeichen   'o"clock'

Die Darstellung des Datum/Zeit-Objekts richtet sich nach den Symbolen, die Sie festlegen.

Anmerkungen: Die folgenden Anmerkungen beziehen sich auf die vorhergehende Tabelle.
  1. Beim Feld 'Tag in Woche' handelt es sich um die numerische Position in einer Woche, die sich je nach dem Wert der Eigenschaft Erster Wochentag der physische Nachrichtengruppe ändert. Beispielsweise ist der dritte Wochentag Mittwoch, wenn für die physische Nachrichtengruppeneigenschaft Erster Wochentag 'Montag' festgelegt wurde.
  2. Der 12. Juli 2006 ist der zweite Mittwoch im Juli und kann als 2006 Juli Mittwoch 2 unter Verwendung der Formatierzeichenfolge yyyy MMMM EEEE F angegeben werden. Beachten Sie, dass dieses Format nicht für den Mittwoch in der zweiten Woche im Juli 2006 stehnt, denn das ist der 5. Juli 2006; die Formatierzeichenfolge hierfür ist yyyy MMMM EEEE W.
  3. 24-Stunden-Felder können zu einer mehrdeutigen Zeitangabe führen, wenn es zu Konflikten mit einem Feld im Format 'am/pm' kommt.
  4. Weitere Informationen hierzu finden Sie unter ISO8601, Datum/Zeit-Tokens I und T.
  5. Sekundenbruchteile werden durch ein S in Großbuchstaben dargestellt. Die Länge muss implizit der Anzahl der Formatsymbole bei der Eingabe entsprechen. Die Formatierzeichenfolge ss SSS oder ss.SSS steht beispielsweise für Sekunden und Millisekunden. Die Formatierzeichenfolge ss.sss steht jedoch für ein Wiederholungsfeld (Sekunden); der Wert nach dem Punkt (.) wird als Sekundenfeld ausgewertet, nicht als Sekundenbruchteile. Die Ausgabe wird auf die angegebene Länge abgeschnitten.
  6. Der Beginn eines neuen Jahres liegt häufig in der Mitte der Woche. Wenn die Anzahl der Wochentage kleiner ist als der durch die Eigenschaft Tage in der ersten Woche im Jahr der physischen Nachrichtengruppe angegebene Wert, wird die Woche als letzte Woche des vorherigen Jahres gesehen; in diesem Fall beginnt Woche 1 einige Tage nach Beginn des neuen Jahres. Andernfalls wird die Woche als erste Woche im neuen Jahr interpretiert; in diesem Fall beginnt die erste Woche im neuen Jahr einige Tage vor Beginn des neuen Jahres. Beispiel: Der Montag der Woche 1 im Jahr 2004 (2004 01 Montag, dabei sind 'Tage in der ersten Woche im Jahr' = 4 und 'Erster Wochentag' = Montag ) mit der Formatierzeichenfolge YYYY ww EEEE ist der 29. Dezember 2003. Wenn Sie Y verwenden, werden der Tag der Woche (E) und die Woche in Jahr (w) bei Bedarf angepasst, um anzuzeigen, dass das Datum auf das nächste Jahr fällt.

    Wenn Sie das y-Symbol in Kleinbuchstaben 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:

    • Der Montag von Woche 1 im Jahr 2002 mit der Formatzeichenfolge YYYY ww EEEE wird korrekt als 31. Dezember 2001 wiedergegeben.
    • Der Montag von Woche 1 im Jahr 2002 mit der Formatzeichenfolge yyyy ww EEEE wird nicht korrekt als 30. Dezember 2002 wiedergegeben.

    Verwenden Sie Y nur zusammen mit w. Wenn Sie Y ohne w angeben, wird das Jahr ignoriert. Wenn Sie beispielsweise YYYY-MM-dd als Format für 1996-03-01 angeben, lautet das Ergebnis 2006-03-01, da die Jahreseingabe ignoriert und das aktuelle Jahr angenommen wird.

  7. Die erste und letzte Woche in einem Monat können Tage aus den angrenzenden Monaten enthalten. Montag 31. Juli 2006 kann beispielsweise als Montag in Woche eins im August 2006 ausgedrückt werden. Dies wäre 2006 08 1 Montag mit der Formatierzeichenfolge yyyy MM W EEEE.
  8. Jahr wird als Sonderfall behandelt:
    • Wenn die Anzahl von y bei der Ausgabe 2 lautet, wird das Jahr auf zwei Ziffern gekürzt. Beispiel: yyyy ergibt 2006, yy ergibt 06.
    • Bei der Eingabe bestimmt die Nachrichtengruppeneigenschaft Beginn der Datumsangaben mit zweistelliger Jahreszahl das Jahrhundert bei zweistelligen Jahreszahlen. Wenn beispielsweise Beginn der Datumsangaben mit zweistelliger Jahreszahl auf 53 steht, wird das Jahr 97 mit 1997 angezeigt, das Jahr 52 mit 2052 und das Jahr 53 mit 1953.

ISO8601, Datum/Zeit-Tokens I und T

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
Anmerkung:
  • Bei der Eingabe akzeptieren I und T sowohl '+00:00' als auch 'Z' zur Anzeige eines Zeitunterschieds von null zur Coordinated Universal Time (UTC), generieren bei der Ausgabe aber stets '+00:00'. Wenn bei der Ausgabe immer 'Z' generiert werden soll, verwenden Sie stattdessen die Formatierungssymbole 'IU' oder 'TU'.
  • ZZZ ergibt stets die Ausgabe von '+00:00', um einen Zeitunterschied von null zur Coordinated Universal Time (UTC) anzuzeigen. Wenn bei der Ausgabe immer 'Z' generiert werden soll, verwenden Sie stattdessen ZZZU.

UTC-Eingabeformat für die Ausgabe verwenden

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

Beispiele

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
Zugehörige Konzepte
Nachrichten modellieren
Das Nachrichtenmodell
Zugehörige Tasks
Nachrichtenmodelle entwickeln
Mit Nachrichtendefinitionsdateien arbeiten
Mit Nachrichtenmodellobjekten arbeiten
Zugehörige Verweise
Nachrichtenmodellverweisinformationen
Eigenschaften von Nachrichtenmodellobjekten
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Feedback

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Letzte Aktualisierung : 2009-02-17 15:28:40

ad09291_