- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Datenquelle (Datum abfragen und formatieren)
Hallo!
Ich habe wieder eine Frage zu Datenquellen. Irgendwie sehe ich den Wald vor lauter Bรคumen nicht.
Ausgangslage: Datenquelle in der u.a. eine Spalte angelegt ist, die ein Datum speichert.
Ich frage die Daten mit folgendem Code ab:
<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="fr_win_jahr">
<CMS_PARAM name="schema" value="wasistneu"/>
<CMS_VALUE_PARAM name='von' value='#startdate.set("day_of_month",1).set("month",0).set("year",st_jahr).set("hour",0).set("minute",0).set("second",0).getTime()' />
<CMS_VALUE_PARAM name='bis' value='#startdate.set("day_of_month",1).set("month",0).set("year",st_jahr+1).set("hour",0).set("minute",0).set("second",0).getTime()' />
<QUERY entityType="eintrag">
<ORDERCRITERIA attribute="datum" descending="1" />
<FILTERPARAM parameter="bis" datatype="java.util.Date" value="0"/>
<FILTERPARAM parameter="von" datatype="java.util.Date" value="0"/>
<AND>
<GTE attribute="Datum" parameter="von" />
<LT attribute="Datum" parameter="bis" />
</AND>
</QUERY>
</CMS_FUNCTION>
</CMS_HEADER>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.text.SimpleDateFormat"%>
<%
String alterTag = "";
String neuerTag;
Calendar neuerTagCal = new GregorianCalendar();
SimpleDateFormat sdfWin = new SimpleDateFormat("dd. MMMM yyyy, EEEE");
%>
$CMS_FOR(win_eintrag, fr_win_jahr)$
<%
neuerTag = "$CMS_VALUE(win_eintrag.datum)$";
neuerTagCal.setTimeInMillis($CMS_VALUE(win_eintrag.datum.getTimeInMillis()/1000)$);
if (!alterTag.equals(neuerTag))
{
alterTag = neuerTag;
%>
<h2><%= sdfWin.format(neuerTagCal.getTime()) %></h2>
<%
}
%>
<li>$CMS_VALUE(win_eintrag.eintragstext)$</li>
$CMS_END_FOR$
</ul>
Lassen wir mal den noch nicht sauberen HTML-Code auรer acht.
Ich habe das Problem, dass ich das Datum-Feld entsprechend mit dem sdfWin-Format formatieren und die Daten gruppiert nach Tag ausgeben mรถchte. Die Gruppierung bekomme ich รผber die Hilfsvariable neuerTag hin, sicherlich nicht perfekt gelรถst, aber es funktioniert.
Aber wie formatiere ich das Datum-Feld? Habe versucht das Teil in ein Calendar-Format zu wandeln und dann entsprechend zu formatieren. Klappt aber nicht, da ich mit getTimeInMillis() einen Wert auslese, den ich wiederum nicht mit setTimeInMillis() setzen darf.
Wie kann ich dieses Datum vernรผnftig formatieren? Und gibt es (mit Sicherheit!) Verbesserungen fรผr den Code unten?
Danke im Voraus!
- Labels:
-
Developers
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Es war zu einfach, wie erwartet:
$CMS_VALUE(win_eintrag.datum.format("dd. MMMM yyyy, EEEE"))$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Es war zu einfach, wie erwartet:
$CMS_VALUE(win_eintrag.datum.format("dd. MMMM yyyy, EEEE"))$

