Formatvorlagen für Datum/Zeit

Beim Erstellen von Datumswerten aus Texten heraus und beim Formatieren von Datumswerten nach bestimmten Kriterien ist eine bestimmte Schreibweise erforderlich. Hier eine Übersicht der verwendbaren Masken. Folgende Werte können bei der Definition einer Maske verwendet werden.


Zeichen

Bedeutung

Art

Beispiele

G

Zeitalter.

Text.

n.Chr., AD

y

Jahr.

Jahr.

2005, 05

M

Monat.

Monat.

Juli, Jul, 07

w

Woche im Jahr.

Zahl.

27

W

Woche im Monat.

Zahl.

2

D

Tag des Jahres.

Zahl.

189

d

Tag des Monats.

Zahl.

10

F

Tag der Woche im Monat.

Zahl.

2 (z. B. zweiter Mittwoch im Februar)

E

Wochentag.

Text.

Mittwoch, Mi, Wednesday, Wed

a

AM/PM-Angabe.

Text.

AM, PM

H

Tagesstunde 24h (0-23).

Zahl.

0

k

Tagesstunde 24h (1-24).

Zahl.

24

K

Tagesstunde 12h (0-11).

Zahl.

0

h

Tagesstunde 12h (1-12).

Zahl.

12

m

Minute der Stunde.

Zahl.

30

s

Sekunde der Minute.

Zahl.

55

S

Millisekunde der Sekunde.

Zahl.

978

z

Zeitzone.

Allg. TZ.

Mitteleuropäische Zeit, MEZ, GMT+01:00

Z

Zeitzone.

RFC 822.

+0100

C

Jahrhundert (>= 0).

Zahl.

20

Y

Wochenjahr (>= 0).

Zahl.

2008 (bei 2007-12-31; gilt als Tag in der ersten Kalenderwoche 2008)


Die Werte werden normalerweise wiederholt verwendet. Die Anzahl von aufeinanderfolgenden Zeichen beeinflusst die genaue Darstellung eines Wertes.


  • Text: Wird ein Zeichen mehr als dreimal verwendet (z. B. MMMM), wird die voll ausgeschriebene Form verwendet (z. B. Juli). Bei kürzeren Angaben wird die abgekürzte oder kurze Form (z. B. Jul bei MMM) verwendet, sofern etwas entsprechendes vorhanden ist. Beim Parsen werden alle Formen versucht, unabhängig davon, welche als Maske übergeben wurde. Die Präsentation ist von der verwendeten Locale abhängig.

  • Zahl: Die Anzahl an Maskenzeichen gibt die Mindestzahl an Stellen an, die angezeigt werden sollen. Zahlen, die kürzer als die angegebene Zahl ist, werden durch 0 am Anfang entsprechend ausgefüllt. Beim Parsen wird die Anzahl an Zeichen ignoriert, sofern gleiche Zeichen nicht von einem Trennzeichen getrennt wurden.

  • Jahr: Werden beim Formatieren nur ein oder zwei Zeichen angegeben, wird das Jahr auf zwei Zeichen gekürzt. In allen anderen Fällen greifen die gleichen Regeln wie für "Zahl". Werden beim Parsen vier oder mehr Zeichen verwendet, wird das Jahr "wörtlich" genommen, d. h. das Datum 01.12.05 wird als 1. Dezember 5 n. Chr. interpretiert. Bei einem abgekürzten Datum, wird eine Logik angewandt, die festlegt, ob das Datum in der Vergangenheit oder der Zukunft liegt (bis 80 Jahre in der Vergangenheit und bis 20 Jahre in der Zukunft).

  • Monat: Ist die Zahl an Zeichen drei oder höher, finden die Regeln für Text Anwendung. Ansonsten wird es als Zahl interpretiert, bzw. formatiert.

  • Allg. TZ: Zeitzonen werden als Text interpretiert, wenn sie Text enthalten. Wird die Zeitzone als GMT-Text dargestellt findet der reguläre Ausdruck GMT(\+|\-)\d\d*\:\d\d Anwendung. Die Stundenanzahl (die ersten bis zwei Zahlenangaben) müssen zwischen 0 und 23 und die Minuten (die beiden letzten Zahlenangaben) müssen zwischen 0 und 59 liegen. Das Format ist Locale-unabhängig, die Zahlenwerte müssen aus dem ASCII-Codebereich stammen. Beim Parsen werden auch RFC-822-konforme Angaben akzeptiert.

  • RFC 822: Die Zeitzone wird gemäß RFC 822 formatiert, d. h. der reguläre Ausdruck (+|-)\d\d\d\d findet seine Anwendung. Die Stunden (die ersten beiden Zahlenwerte) müssen im Bereich 0 und 23, alle anderen Vorgaben gelten wie bei "Allg. TZ". Beim Parsen werden auch allgemeine Zeitzonenangaben interpretiert.

W3CDTF


Das Zeitformat W3CDTF wird in Timestamp-Feldern der Quell- und Zielstruktur, sowie in den create-date-Funktionen unterstützt, z. B. in create date strict(value a, template b, default c, [Locale d, Timezone e]). Dieses Format wird oft in XML-Dokumenten verwendet. Beispiel: 1997-07-16T19:20:30+01:00

Zeitzone Quellstruktur-Feld


Die Angabe der Zeitzone im W3CDTF-Wert ist Pflicht. Der W3CDTF-Wert wird umgerechnet in die lokale Zeitzone des Systems und daraus wird dann der Timestamp erzeugt. Folgende W3CDTF-Format-Fehler werden korrigiert.


  • +0100, +1:00, +01, +1 werden wie +01:00 verarbeitet. Analog bei negativer Verschiebung. Der Zahlenwert darf +-24 nicht überschreiten.

  • +01:45 (schräge Zeitzone) wird akzeptiert, wenn sonst keine Formatfehler vorhanden sind.


Wenn Sie ausdrücklich mit Format-Fehlern rechnen, verwenden Sie als Formatvorlage W3CEX statt W3CDTF. Dann wird nach der Korrektur der Format-Fehler eine erneute strenge Prüfung des Korrekturergebnisses durchgeführt.

Zeitzone Zielstruktur-Feld


Die Werte von Timestamp-Felder in der Zielstruktur können als W3CDTF formatiert werden. Dazu wird als Formatvorlage W3CDTF verwendet. Der erzeugte W3CDTF-Wert hat die lokale Zeitzone des Systems. Wenn Sie die Formatvorlage W3CUTC verwenden, wird UTC verwendet. Andere Zeitzonen können über Timestamp-Felder mit Vorlage nicht erreicht werden. Verwenden Sie für diesen Fall z. B. die Funktion create W3CDTF from date (a) for Target Timezone (b), aber dann auf einem String-Feld ohne Vorlage.