Frühling 3.2 Datum Zeit Format

8

Ich benutze das Standalone-Spring-Framework und möchte Spring 3.2 @DateTimeFormat (pattern="TT / MM / JJJJ") implementieren, bekomme aber nicht die erwartete Ausgabe.

Mein Code-Snippet ist:

%Vor%

Gibt folgendes Ergebnis:

%Vor%

aber ich erwartete Ausgabe wie: 30/08/1999

Ich möchte ohne joda Zeitbibliothek implementieren

    
bekur 19.07.2013, 20:23
quelle

5 Antworten

15

Versuchen Sie, das Format zu ändern:

%Vor%

MM ist für Monate, mm für Minuten.

Sehen Sie sich diese Dokumentation an :

  

Das gebräuchlichste ISO-DateTime-Format JJJJ-MM-TT'T'hh: mm: ss.SSSZ z. B.

    
NINCOMPOOP 19.07.2013 20:24
quelle
5

Ich weiß, dass es eine alte Frage ist, aber ich antworte, weil ich heute dasselbe Problem hatte und ich 4 Stunden Arbeit verloren habe, um die Lösung zu finden. Das Problem hierbei ist, dass Spring jackson zum Serialisieren und Deserialisieren von JSON verwendet. @DateTimeFormat Annotation wird nicht funktionieren, du musst Jackson sagen, wie man das Datum serialisiert. Sie haben zwei Lösungen: die erste ist die Vereinfachung und ist% Co_de% Annotation in der Getter-Methode zu verwenden:

%Vor%

Die zweite Lösung besteht darin, einen benutzerdefinierten Serializer für Datumsfelder wie folgt zu erstellen:

%Vor%

und verwenden Sie dann die Annotation in der get-Methode:

%Vor%

Dieser Link erklärt, wie man den Serializer macht

Ссылка

Ich hatte ein anderes Problem, ich importierte in meiner JsonDateSerializer-Klasse die Klassen von @JsonFormat package, aber spring gab mir diesen Fehler:

%Vor%

Also habe ich alle Importe in das Paket

geändert %Vor%

und alles funktioniert gut. Ich hoffe, es kann jemandem helfen.

    
amicoderozer 04.07.2016 14:03
quelle
1

Sie rufen System.out.println direkt in einer Methode Ihrer Klasse auf. Das kann nicht so funktionieren.

Sie müssen das dob -Feld von außerhalb Ihrer Klasse aufrufen, zum Beispiel von einer JSP-Seite. Und so wird das Feld automatisch nach dem vorgegebenen Muster formatiert.

    
LaurentG 20.07.2013 18:29
quelle
0

@ NumberFormat- und @DateTimeFormat-Annotationen funktionieren nur in der Spring MVC-Umgebung. Du musst <mvc:annotation-driven/> benutzen in Ihrer XML-Konfigurationsdatei.

    
Ashok Korlakunta 04.08.2015 04:20
quelle
0

Sehen Sie sich Ihre Importe in Ihrer Klasse an. Ihr Datumstyp sollte java.util.Date sein. Es könnte von einer anderen Klasse wie java.sql.Date stammen.

    
Jelani 04.10.2015 19:04
quelle

Tags und Links