2016-08-11 1 views
-2

Ich habe eine Webanwendung, wo Benutzer die Nachricht an eine erholsame API senden können, so dass diese Informationen in der Datenbank gespeichert werden können.JSON-Datum geändert

Mein Problem, wenn die Daten von der UI gesendet werden, ist das gesendete Datum "effStartDate": "2016-08-13", aber wenn ich den Datumswert im Java-Code sehe, zeigt es Fr Aug 12 20: 00:00 EDT 2016.

Ich verwende AngularJS, Spring und iBatis als ORM-Tool. Anbei sind Screenshots mit Daten, die von der Benutzeroberfläche gesendet werden und was ich im Backend-Code sehe.

kann mir jemand dabei helfen?

enter image description here

enter image description here

Antwort

1

können Sie Anmerkungen hinzufügen in der Einheit zu verwirklichen. (Habe auf JackJson`s Glas verlassen) und dann in erforderlichen Feldern hinzufügen "@JsonFormat (pattern = "yyyy-MM-dd HH: mm: ss", Zeitzone = "GMT + 8")"

+0

Ich habe versucht, Datum von UI gesendet - "2016-08-13 00:00:00" und Datum, das ich im Backend sehe, ist "Fr 12. August 12:00:00 EDT 2016" –

0

Sie können dieses Nutzungsdatumsformat aus JavaScript-Code verwenden, um Anfragen per REST API an einen Server zu senden.

Zum Beispiel:

effStartDate.toISOString(); 

Die toISOString() Methode gibt eine Zeichenfolge in vereinfachter erweiterten ISO-Format

+0

Wenn ich das versuche, UI Date = "effStartDate": "2016-08-28T00: 19: 21.000Z", Daten im Backend gesehen Sat Aug 27 20:19:21 EDT 2016 –

+0

Datum ist ein feiner Feldtyp dafür. Sie können die JSON-Analyse mithilfe von ObjectMapper.setDateFormat DateFormat df = neue SimpleDateFormat ("JJJJ-MM-TT HH: mm a z"); myObjectMapper.setDateFormat (df); –

0

Sie können das Datum als String behandeln. So etwas wie dieses @JsonFormat (Form = JsonFormat.Shape.STRING, Muster = "JJJJ-MM-TT")