Wie wandle ich ein Datetime-Feld in Grails in ein Datum um, ohne die Zeit zu erfassen? Ich muss dies zum Vergleich mit dem Systemdatum tun.
%Vor% Leider gibt es keine "out-of-the-box" -Methode, um diese Operation in Grails|Groovy|Java
durchzuführen.
Jemand immer wirft Joda-Time jederzeit ein java.util.Date
oder java.util.Calendar
Frage wird gestellt, aber es ist nicht immer eine Option, eine weitere Bibliothek einzubinden.
In letzter Zeit haben wir für ein ähnliches Problem eine DateTimeUtil
-Klasse mit static
-Methoden und so etwas wie die folgende erstellt, um nur Date
zu erhalten:
Dann können Sie im Validator
verwenden %Vor%Ich habe es geknackt:
startDate (Validator: {return (it & gt; = neues Datum () - 1)})
Es war so einfach; -)
Um die Ansicht in der GSP-Seite zu ändern:
%Vor%Danke allen für den Beitrag
Sie sollten startdate.clearTime()
Wir tun dies, indem wir den Setter für unsere Domain-Klassen überschreiben, die nur das Datum und nicht die Zeit benötigen. Auf diese Weise können wir die Daten von zwei Instanzen vergleichen, ohne dies später zu tun. :
%Vor%Verwenden Sie 'java.sql.Date' und nicht 'java.util.Date' als Typ Ihrer Date-Eigenschaft zusammen mit
formatDate
Zweck
Erlaubt die Formatierung von java.util.Date-Instanzen mit den gleichen Mustern, die von der SimpleDateFormat-Klasse definiert wurden.
Beispiele
Beschreibung
Attribute
%Vor%