art : date
jart.handlers.data.JArtDate
art:date
Beschreibung
art:date ist eine Klasse um ein Datum regionalabhängig zu erzeugen, formatieren oder zu parsen. Es ist möglich ein Datum in einem beliebigen Format zu erzeugen, ein vorhandenes Datum in Text zu formatieren und umgekehrt Text in ein Datum zu parsen.
Datum- und Zeitformate werden von benutzerdefinierten Mustern festgelegt. Innerhalb dieser Muster werden nicht in Anführungszeichen gesetzte Buchstaben (von A bis Z und von a bis z) als Muster-Zeichen interpretiert, die die Bestandteile eines Datum- oder Zeitformats vertreten.
Buchstabe | Datum- oder Zeitkomponente | Beispiele |
---|---|---|
G | Era designator | AD |
y | Year | 1996; 96 |
M | Month in year | July; Jul; 07 |
w | Week in year | 27 |
W | Week in month | 2 |
D | Day in year | 189 |
d | Day in month | 10 |
F | Day of week in month | 2 |
E | Day in week | Tuesday; Tue |
a | Am/pm marker | PM |
H | Hour in day (0-23) | 0 |
k | Hour in day (1-24) | 24 |
K | Hour in am/pm (0-11) | 0 |
h | Hour in am/pm (1-12) | 12 |
m | Minute in hour | 30 |
s | Second in minute | 55 |
S | Millisecond | 978 |
z | Time zone | Pacific Standard Time; PST; GMT-08:00 |
Z | Time zone | -0800 |
Diese Musterzeichen werden gewöhnlich wiederholt bis ihre Anzahl die exakte Darstellung widerspiegelt. Nicht reservierte Zeichen werden auch ohne Anführungszeichen wieder ausgegeben.
Muster | Ergebnis |
---|---|
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, ''yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o''clock' a, zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
Attribute
@ name (erforderlich)
Eindeutiger Bezeichner des Datumsobjekts
@ format (optional)
Das "format"-Attribut legt das Format des erzeugten Datumsobjekts fest.
Beispiel:
yyyy-MM-dd
@ input-date (optional)
Bei Übergabe eines vorhandenen Datums mittels des "input-date"-Attributes wird ein Datumobjekt anhand des übergebenen Datums erzeugt.
Beispiel:
dd.MM.yyyy HH:mm:ss
@ input-format (optional)
Im "input-format"-Attribut wird festgelegt, in welchem Format sich ein über das "input-date"-Attribut übergebenen Datums befindet.
Beispiel:
yyyyMMddHHmm
@ locale (optional)
Legt fest, auf Basis welcher Region das Datumsobjekt formatiert wird.
Mögliche Werte:
de, en, fr, it, jp
@ add (optional - benötigt field)
Mittels des "add"-Attributs ist es möglich Einheiten zu einem Datumsobjekt zu addieren bzw. abzuziehen. Welche Einheit angesprochen wird, wird über das "field"-Attribut definiert.
@ field (optional - benötigt add)
Über das "field"-Attribut wird festgelegt, welche Einheit über das "add"-Attribut angesprochen wird.
Mögliche Werte:
YEAR, MONTH, DAY, HOUR, MIN, SEC
@ number (optional)
Bei Verwendung des "number"-Attributes wird ein aktueller Timestamp in Millisekunden erzeugt und durch den Wert des "number"-Attributes dividert. Ein Wert von 1000 erzeugt somit einen Unix-Timestamp.
@ diff-to (optional)
Bei Übergabe eines Datums an das "diff-to"-Attribut wird ein Datumsobjekt erzeugt, welches den Unterschied beider Daten in Millisekunden enthält. Gerechnet wird: "diff-to" minus "input-date"
Beispiele
<art:date name="unix-timestamp" number="1000" /> <art:debug message="{$unix-timestamp}" /> <!-- debug-info: 1204034115 -->
<art:date name="today" format="dd.MM.yyyy HH:mm" /> <art:debug message="{$today}" /> <!-- debug-info: 26.02.2008 15:05 -->
<art:date name="yesterday" format="EEEE" add="-1" field="DAY" /> <art:debug message="{$yesterday}" /> <!-- debug-info: Monday -->
<art:date name="yesterday_de" format="EEEE" add="-1" field="DAY" locale="de" /> <art:debug message="{$yesterday_de}" /> <!-- debug-info: Montag -->
<art:date diff-to="{$today}" input-format="dd.MM.yyyy HH:mm" input-date="01.01.1982 18:30" name="diff" /> <art:debug message="{$diff}" /> <!-- debug-info: 825281280000 -->