vergleichen Sie das Datum mit der aktuellen Zeit in jstl
Hallo, ich bin versucht zu vergleichen, ein Datum mit Uhrzeit mit jstl-Tag in einer jsp-Datei.
Wie Vergleiche ich ein Datum mit der aktuellen Zeit unter Verwendung von jstl?
Ich habe diese:
<jsp:useBean id="currentDate" type="java.util.Date"/>
<fmt:formatDate var="now" value="${currentDate} pattern="yyyy-MM-dd"/>
<c:if test="${ h.time < now }">
<h1>print something</h1>
</c:if>
vielen Dank im Voraus!
- Was geschieht, anders als, was Sie würden erwarten, & was hast du bisher ausprobiert, um es zu beheben? Sie haben nicht wirklich eine Frage gestellt hier...
- danke, ich habe mein edit Frage.
- Haben Sie Lesen der Dokumentation auf die Date-Klasse?
- deine fülle ist verwirrend. Die aktuelle Frage ist bereits beantwortet (obwohl es schlecht erklärt). Wie genau ist die derzeit akzeptierte Antwort hilfreich für Sie? Welche Probleme genau hast du noch vor?
Du musst angemeldet sein, um einen Kommentar abzugeben.
konvertieren Sie die Zeit, um ein Datum und Vergleiche es mit dem aktuellen Datum.
Konvertierung in Datum:
Vergleich:
Cannot convert 07-01-14 12:00 AM of type class java.sql.Timestamp to long
Bin ich teilen einige Möglichkeiten, um das Problem zu lösen.
Erste:
Werde ich vermute, es ist ein
java.util.Date
.Können Sie das aktuelle Datum wie dieses
Sie können dann vergleichen Sie mit einem EL-Ausdruck:
EL verwendet die java compareTo-Methoden, so dass beide Objekte müssen der gleichen Klasse, um für diesen Vergleich, um zu arbeiten.
Wenn du wieder einen String aus der Datenbank, die Sie verwenden würde um ein java-Datum.
Wenn Sie wieder eine
java.sql.Date
aus der Datenbank, wäre es schwieriger. Der hack würde gehenjava.sql.Date -> String -> java.util.Date using <fmt:formatDate> and <fmt:parseDate>
Ressource link:
vergleichen aktuelle Datum mit dat aus der db von JSTL
Zweite:
Dritte:
Einem sauberen Weg ist das
jsp:useBean
tag um eine Seite zu erstellen-scoped variable mit dem aktuellen Datum/Zeit und verwenden Sie dann normal JSTL zum Vergleich der Objekte.Erstellen der Seite-Bereich
java.util.Date object
(mit jsp:useBean), dann verwenden Sie ${jetzt} verweisen auf das aktuelle Datum/Zeit. Dies ist eine reguläre JSP-Objekt jetzt und so ist der normale JSTL Operatoren funktionieren mit dieser variable:Ressource Link:
JSTL Datum Vergleiche mit der aktuellen Zeit (jetzt) in JSPs
Es ist eine schlechte Praxis der Logik in der Sie die view-Schicht.
Was sollten Sie stattdessen tun, ist, der die Berechnungen im inneren des Controllers und stellen Sie das Ergebnis in der Ansicht, wie eine variable, und verwenden Sie innerhalb der Bedingung: