Date (Objekt): Unterschied zwischen den Versionen
Sed (Diskussion | Beiträge) |
Sed (Diskussion | Beiträge) |
||
Zeile 31: | Zeile 31: | ||
==Methoden== | ==Methoden== | ||
− | {| class="prettytable" | + | {| class="prettytable sortable" |
|- class="hintergrundfarbe1" | |- class="hintergrundfarbe1" | ||
! Methode || Rückgabewert || Beschreibung || ab IES Version | ! Methode || Rückgabewert || Beschreibung || ab IES Version | ||
|- | |- | ||
− | | <code>dateAdd</code> | + | | <code>dateAdd([[String]] field, [[Number]] amount)</code> |
| [[Date]] | | [[Date]] | ||
| Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ) | | Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ) | ||
| 2.0.4 | | 2.0.4 | ||
|- | |- | ||
− | | <code>dateSet</code> | + | | <code>dateSet([[String]] field, [[Number]] amount)</code> |
| [[Date]] | | [[Date]] | ||
| Setzt ein angegebenes Feld auf einen bestimmten Wert | | Setzt ein angegebenes Feld auf einen bestimmten Wert | ||
| 2.0.4 | | 2.0.4 | ||
|- | |- | ||
− | | <code>dateGet</code> | + | | <code>dateGet([[String]] field)</code> |
| [[Number]] | | [[Number]] | ||
| Liefert den Wert des angegebenen Feldes zurück | | Liefert den Wert des angegebenen Feldes zurück | ||
| 2.0.4 | | 2.0.4 | ||
|- | |- | ||
− | | <code>dateFormat</code> | + | | <code>dateFormat([[String]] field)</code> |
+ | | [[String]] | ||
+ | | Gibt eine formatiertes Datum zurück | ||
+ | | 2.0.4 | ||
+ | |- | ||
+ | | <code>dateFormat([[String]] field, [[String]] locale)</code> | ||
| [[String]] | | [[String]] | ||
| Gibt eine formatiertes Datum zurück | | Gibt eine formatiertes Datum zurück | ||
Zeile 56: | Zeile 61: | ||
|} | |} | ||
− | ;<code>dateAdd</code> | + | ;<code>[[Date]] dateAdd([[String]] field, [[Number]] amount)</code> |
:Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ). | :Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ). | ||
:;Parameter | :;Parameter | ||
Zeile 67: | Zeile 72: | ||
:::Zurückgegeben wird ein neues, entsprechend verändertes Datum. | :::Zurückgegeben wird ein neues, entsprechend verändertes Datum. | ||
− | ;<code>dateSet</code> | + | ;<code>[[Date]] dateSet([[String]] field, [[Number]] amount)</code> |
:Setzt den Wert des angegebenes Feldes auf die übergebene Zahl. | :Setzt den Wert des angegebenes Feldes auf die übergebene Zahl. | ||
:;Parameter | :;Parameter | ||
Zeile 77: | Zeile 82: | ||
:::Zurückgegeben wird ein neues, entsprechend verändertes Datum. | :::Zurückgegeben wird ein neues, entsprechend verändertes Datum. | ||
− | ;<code>dateGet</code> | + | ;<code>[[Number]] dateGet([[String]] field)</code> |
:Liefert den Wert des angegebenes Feldes. | :Liefert den Wert des angegebenes Feldes. | ||
:;Parameter | :;Parameter | ||
Zeile 85: | Zeile 90: | ||
:::Zurückgegeben wird der gewünschte Wert des Feldes vom diesem Datum. | :::Zurückgegeben wird der gewünschte Wert des Feldes vom diesem Datum. | ||
− | ;<code>dateFormat</code> | + | ;<code>[[String]] dateFormat([[String]] format)</code> |
+ | :Liefert das Datum mit der übergebenen [[Datumsformat|Formatierung]] zurück. Diese Funktion stellt eine einfache Alternative zur Verwendung des [[Print (SP-Tag)]] dar. | ||
+ | :;Parameter | ||
+ | ::;<code>format</code> | ||
+ | :::Ein [[String]] mit dem gewünschten Format des Datums. Weitere Informationen hierzu unter [[Datumsformat]]. | ||
+ | ::;[[String]] | ||
+ | :::Zurückgegeben wird ein entsprechender [[String]] vom diesem Datum. | ||
+ | |||
+ | ;<code>[[String]] dateFormat([[String]] field, [[String]] locale)</code> | ||
:Liefert das Datum mit der übergebenen [[Datumsformat|Formatierung]] zurück. Diese Funktion stellt eine einfache Alternative zur Verwendung des [[Print (SP-Tag)]] dar. | :Liefert das Datum mit der übergebenen [[Datumsformat|Formatierung]] zurück. Diese Funktion stellt eine einfache Alternative zur Verwendung des [[Print (SP-Tag)]] dar. | ||
:;Parameter | :;Parameter |
Version vom 29. Mai 2009, 10:16 Uhr
Name
Date - Datum und Uhrzeit
Beschreibung
Ein Datum ist eine natürliche Zahl die ein Datum repräsentiert. Das Datum wird in Millisekunden seit dem 1. Januar 1970 um 00:00:00 Uhr GMT angegeben, der sog. UNIX-Time. Ein Datum vor dem 1. Januar 1970 wird mit einem Negativen Wert angegeben. Das Date-Objekt hat einen Zahlenvorrat von 64 bit, was einem Zahlenraum von -9223372036854775808
- 9223372036854775807
entspricht. Damit lassen sich Daten bis ins Jahr 292278994 beschreiben, was wohl für die nächste Zeit ausreichen wird.
Das Reduzieren des Datums auf einen Zahlenwert vereinfacht den Umgang von Daten bei Berechnungen und Sortierungen. Zur Darstellung ist diese Form allerdings nicht geeignet, daher können aus dem Zahlenwert beliebige Datumsformate - beispielsweise bei der Ausgabe mit sp:print erzeugt werden.
Beim Umgang mit einem Datum in Millisekunden ist unter Umständen auch die Zeitzone zu berücksichtigen. Die Millisekunden beziehen sich immer auf die Zeitzone GMT. Dies hat den Vorteil, das überall in der Welt dieses Datum und diese Uhrzeit eindeutig sind. Möchte man die lokale Entsprechung des Datums ausgeben kann das locale
-Attribut von sp:print verwendet werden.
Innerhalb des IES bzw. der SPML ist eine Zahl eine Zeichenkette, die sich als Zahl interpretieren lässt. Dadurch können alle Methoden des Objektes String auch auf die Zahlen angewandt werden, z.B. size
.
Da die Manipulation von Daten in dieser Form relativ komplex ist, bietet der IES Methoden, die basierend auf das angegebene Datum, ein neues Datum bzw. einen Wert eines Datum zurückliefern.
Ein Datum wird dafür als Kalender-Objekt interpretiert und verfügt dann über folgende Felder:
system.constants.YEAR
system.constants.MONTH
system.constants.WEEK
bzw.system.constants.DAY_OF_YEAR
system.constants.WEEK_OF_MONTH
system.constants.DAY
bzw.system.constants.DAY_OF_MONTH
system.constants.DAY_OF_YEAR
system.constants.DAY_OF_WEEK
system.constants.HOUR
system.constants.MINUTE
system.constants.SECOND
system.constants.MILLISECOND
Alternativ stehen zur Berechnung von Datums-Werten auch noch einige statische Kalender Funktionen zur Verfügung.
Methoden
Methode | Rückgabewert | Beschreibung | ab IES Version |
---|---|---|---|
dateAdd(String field, Number amount)
|
Date | Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ) | 2.0.4 |
dateSet(String field, Number amount)
|
Date | Setzt ein angegebenes Feld auf einen bestimmten Wert | 2.0.4 |
dateGet(String field)
|
Number | Liefert den Wert des angegebenen Feldes zurück | 2.0.4 |
dateFormat(String field)
|
String | Gibt eine formatiertes Datum zurück | 2.0.4 |
dateFormat(String field, String locale)
|
String | Gibt eine formatiertes Datum zurück | 2.0.4 |
Date dateAdd(String field, Number amount)
- Ändert den Wert des angegebenes Feldes um den übergebenen Zahl (positiv oder negativ).
- Parameter
-
field
- Angabe Feldes, das inkrementiert bzw. bei negativen Zahlen dekrementiert werden soll. Dabei wird das Feld über die Werte aus System-Konstanten angegeben (z.B.
${system.constants.MONTH}
). amount
- Eine Zahl, um die das Feld des Datums inkrementiert, bzw. bei negativen Zahlen dekrementiert werden soll. Wird dabei der Gültigkeitswert überschritten (z.B. bei Stunden die 24), so wird das folgende Feld entsprechend erhöht (hier würde der Wert für Tag um 1 erhöht). Die Regeln für Monate und Schaltjahre werde automatisch berücksichtigt.
- Rückgabewert
-
- Date
- Zurückgegeben wird ein neues, entsprechend verändertes Datum.
Date dateSet(String field, Number amount)
- Setzt den Wert des angegebenes Feldes auf die übergebene Zahl.
- Parameter
-
field
- Angabe Feldes, das gesetzt werden soll. Dabei wird das Feld über die Werte aus System-Konstanten angegeben (z.B.
${system.constants.MONTH}
). amount
- Eine Zahl die gesetzt werden soll.
- Date
- Zurückgegeben wird ein neues, entsprechend verändertes Datum.
Number dateGet(String field)
- Liefert den Wert des angegebenes Feldes.
- Parameter
-
field
- Angabe Feldes, das zurückgegeben werden soll. Dabei wird das Feld über die Werte aus System-Konstanten angegeben (z.B.
${system.constants.MONTH}
). - Number
- Zurückgegeben wird der gewünschte Wert des Feldes vom diesem Datum.
String dateFormat(String format)
- Liefert das Datum mit der übergebenen Formatierung zurück. Diese Funktion stellt eine einfache Alternative zur Verwendung des Print (SP-Tag) dar.
- Parameter
-
format
- Ein String mit dem gewünschten Format des Datums. Weitere Informationen hierzu unter Datumsformat.
- String
- Zurückgegeben wird ein entsprechender String vom diesem Datum.
String dateFormat(String field, String locale)
- Liefert das Datum mit der übergebenen Formatierung zurück. Diese Funktion stellt eine einfache Alternative zur Verwendung des Print (SP-Tag) dar.
- Parameter
-
format
- Ein String mit dem gewünschten Format des Datums. Weitere Informationen hierzu unter Datumsformat.
locale
- Optional kann noch ein String mit einem Locale für die Formatierung angegeben werden.
- String
- Zurückgegeben wird ein entsprechender String vom diesem Datum.
Beispiele
Template Quelltext
<sp:set name="_now" value="${system.now}"/>
now: <sp:print name="_now"/><br>
now.format: <sp:print name="_now" dateformat="dd.MM.yyyy"/><br>
static get year: <sp:print name="year(${_now})"/><br>
now +1 year: <sp:print name="_now.dateAdd(${system.constants.YEAR},1)" dateformat="dd.MM.yyyy"/><br>
now (wurde nicht verändert!): <sp:print name="_now.dateGet(${system.constants.YEAR})"/><br>
<sp:set name="_now" object="_now.dateSet(${system.constants.YEAR},1975).dateSet(${system.constants.MONTH},6)"/>
6. Juli 1975: <sp:print name="_now.dateSet(${system.constants.DAY},6)" dateformat="dd.MM.yyyy"/><br>
Ausgabe
now: 1243510431481
now.format: 28.05.2009
static get year: 2009
now +1 year: 28.05.2010
now (wurde nicht verändert!): 2009
6. Juli 1975: 06.07.1975