- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Datum in UTC Zeitzone ausgeben
Hallo,
ich versuche gerade, ein Datum in UTC-Zeit auszugeben. Dazu probiere ich folgendes:
$CMS_SET(sdf, class("java.text.SimpleDateFormat").new())$
$CMS_SET(void, sdf.setTimeZone(java.util.TimeZone.getTimeZone("UTC")))$
$CMS_SET(void, sdf.applyPattern("hh:mm"))$
$CMS_VALUE(sdf.format(class("java.util.Date").new()),default:"null")$
Problem ist wohl, dass das Objekt vom Typ Date kurz nach dem Anlegen in Wirklichkeit ein GregorianCalendar-Objekt ist:
$CMS_SET(date, class("java.util.Date").new())$
$CMS_VALUE("Date is of type '" + date.class + "'")$
<output>
Date is of type 'class java.util.GregorianCalendar'
Kann mir jemand weiterhelfen?
Danke und viele Grรผรe,
Matthias
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
Ich fรคnde es ja viel einfacher, direkt die entsprechende Zeitzone zu benutzen
In 4.2R4 geht folgendes problemlos:
$CMS_VALUE(#global.now.timeZone("UTC").format("dd.MM.yyyy hh:mm:ss z"))$
Um sich einen รberblick zu verschaffen, was mรถglich ist, kann man auch einfach mal dies hier ausprobieren:
<h1>alle Zeitzonen</h1>
$CMS_VALUE(#global.now.timeZone.availableIDs.sort.toString("<br>"))$
<h1>Ausgabe in Zeitzonen</h1>
$CMS_VALUE(#global.now.format("dd.MM.yyyy hh:mm:ss z"))$<br>
<br><br><br>
$CMS_VALUE(#global.now.timeZone)$<br>
$CMS_VALUE(#global.now.timeZone("America/Los_Angeles").format("dd.MMMM.yyyy hh:mm:ss Z","EN"))$<br>
$CMS_VALUE(#global.now.timeZone("Europe/Berlin").format("dd.MM.yyyy hh:mm:ss z"))$<br>
Viele Grรผsse aus Dortmund,
Holger
P.S. class("java.util.Date").new() ist genauso das aktuelle Datum wie #global.now, insofern wรผrde ich ersteres nicht verwenden
Nachricht geรคndert durch Holger Hรถbbel Auf entsprechende Bitte das P.S. durchgestrichen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Formatierte Ausgabe kann man รผber 'date.format(pattern)' erreichen.
$CMS_SET(void, sdf.setTimeZone(java.util.TimeZone.getTimeZone("UTC")))$
Das klappt nicht, da muss noch ein class(..) drum.
Nicht ausprobiert, aber ich denke, folgendes sollte funktionieren:
$CMS_SET(date, date.setTimeZone(class("java.util.TimeZone").getTimeZone("UTC")))$
$CMS_VALUE(date.format("hh:mm"))$
Problem ist wohl, dass das Objekt vom Typ Date kurz nach dem Anlegen in Wirklichkeit ein GregorianCalendar-Objekt ist:
Fรผr einige Methode wird der Typ transparent von java.util.Date nach java.util.Calendar umgewandelt.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
Ich fรคnde es ja viel einfacher, direkt die entsprechende Zeitzone zu benutzen
In 4.2R4 geht folgendes problemlos:
$CMS_VALUE(#global.now.timeZone("UTC").format("dd.MM.yyyy hh:mm:ss z"))$
Um sich einen รberblick zu verschaffen, was mรถglich ist, kann man auch einfach mal dies hier ausprobieren:
<h1>alle Zeitzonen</h1>
$CMS_VALUE(#global.now.timeZone.availableIDs.sort.toString("<br>"))$
<h1>Ausgabe in Zeitzonen</h1>
$CMS_VALUE(#global.now.format("dd.MM.yyyy hh:mm:ss z"))$<br>
<br><br><br>
$CMS_VALUE(#global.now.timeZone)$<br>
$CMS_VALUE(#global.now.timeZone("America/Los_Angeles").format("dd.MMMM.yyyy hh:mm:ss Z","EN"))$<br>
$CMS_VALUE(#global.now.timeZone("Europe/Berlin").format("dd.MM.yyyy hh:mm:ss z"))$<br>
Viele Grรผsse aus Dortmund,
Holger
P.S. class("java.util.Date").new() ist genauso das aktuelle Datum wie #global.now, insofern wรผrde ich ersteres nicht verwenden
Nachricht geรคndert durch Holger Hรถbbel Auf entsprechende Bitte das P.S. durchgestrichen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Super, funktioniert. Vielen Dank dafรผr.
Nur bin ich jetzt mehr und mehr irritiert, welche Objekte man da genau in den Hรคnden hat. Wie im ersten Post geschrieben, liefert Date() bei .getClass() 'GregorianCalendar'. #global.now ist wohl auch vom Typ GregorianCalendar ... Und jetzt schreibst du, das SimpleDateFormat.new() das selbe #global.now ist.
Gab es irgendwo eine Beschreibung, wie die ExpressionLanguage von FirstSpirit aufgebaut ist? Es scheint da, zumindest aus meiner Sicht, viele hidden Features zu geben. Auch die Hilfe, die mit dem FS-Server kommt, beschreibt nur wenige Funktionen (isSet(), if(), ref(), font(), legacyCompare()). Wo z. B. ist eigentlich class("x.y.z") beschrieben?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
P.S. class("java.text.SimpleDateFormat").new() ist genauso das aktuelle Datum wie #global.new, insofern wรผrde ich ersteres nicht verwenden
Das stimmt natรผrlich nicht. Vertipper?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nur bin ich jetzt mehr und mehr irritiert, welche Objekte man da genau in den Hรคnden hat.
Das kommt durch die 'Anomalie' von "date.class" - das kรถnnte man auch als Bug bezeichnen. Der Vertipper von Holger ist natรผrlich auch nicht hilfreich. Ignoriere einfach sein "post scriptum".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vertippter korrigiert

