Dies ist ein Problem, das Kollegen begegnen.
Das Datum im Code, das auf der Seite platzierte Format lautet "Fr 21 März 09:20:38 CST 2014" (nicht angezeigt, nur um an den nächsten Controller weiterzugeben).
Wenn Sie das Formular erneut einreichen, ist das private Datum Starttime der DTO -Klasse; ist nicht auf den Wert eingestellt.
Ich habe einige Experimente mit lokalen Programmen durchgeführt
public static void main (String [] args) {Datum jetzt = new Date (); System.out.println (jetzt); String nowstr = now.toString (); DateFormat Format = new SimpledateFormat ("eee mmm dd hh: mm: ss z yyyy"); Datum parsednow = null; try {parsednow = format.parse (nowstr); System.out.println (Parsednow); } catch (parseException e) {e.printstacktrace (); }}Ein Fehler ist aufgetreten, wenn das Programm format.Parse (nowstr) ausgeführt wird.
Java.Text.ParseException: Unarseable Datum: "Fr 21 März 09:25:48 CST 2014"
bei java.text.dateFormat.parse (DateFormat.java:337)
Nachdem wir den Quellcode analysiert und betrachteten, ziehen wir Schlussfolgerungen, dass Fehler, die durch die vom System verwendete Sprache verursacht werden.
DateFormat Format = new SimpledateFormat ("eee mmm dd hh: mm: ss z yyyy");Der Standard ist eigentlich
DateFormat format = new SimpledateFormat ("eee mmm dd hh: mm: ss z yyyy", neues Gebietsschema (System.GetProperty ("user.sprung")));Unter ihnen ist System.getProperty ("user.language") chinesisch, weil das System ZH ist und dieses Format in der chinesischen Zeitzone nicht unterstützt werden sollte.
Ändern Sie den obigen Code, um diesen Punkt zu überprüfen
public static void main (String [] args) {Datum jetzt = new Date (); System.out.println (jetzt); String nowstr = now.toString (); DateFormat format = new SimpledateFormat ("eee mmm dd hh: mm: ss z yyyy", neues Gebietsschema (System.GetProperty ("user.sprung"))); System.out.println (System.getProperty ("user.sprung")); Datum parsednow = null; try {parsednow = format.parse (nowstr); System.out.println (Parsednow); } catch (ParseException e) {format = new SimpledateFormat ("eee mmm dd hh: mm: ss z yjyy", local.glish); try {system.out.println ("neues Format von 'en'"); System.out.println (format.parse (nowstr)); } catch (parseException e1) {e1.printstacktrace (); }}}Eine andere Lösung besteht darin, das Datumsformat einmal auf der JSP -Seite zu konvertieren, z.
<Eingabe type = "Hidden" name = "data" value = '<fmt: formatdate value = "$ {dto.date}" muster = "yyyy-mm-dd"/>'/> Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!