Ich versuche Zeichenfolge von JSON zu ZonedDateTime zu konvertieren wieKann Zeichenkette nicht zu ZonedDateTime konvertieren: DateTimeParseException
static String getWatchTime(JSONObject aJson, JSONObject bJson) {
long difference = 0 ;
try {
String aTime = aJson.getString("time_utc_8");
String bTime = bJson.getString("time_utc_8");
String pattern = "yyyy-MM-dd HH:mm:ss.SSSSSS";
DateTimeFormatter Parser = DateTimeFormatter.ofPattern(pattern).ISO_DATE;
System.out.println(aTime);
ZonedDateTime a = ZonedDateTime.parse(aTime, Parser);
ZonedDateTime b = ZonedDateTime.parse(bTime, Parser);
ChronoUnit unit = null;
difference = unit.between(a, b);
System.out.println(difference);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String t = difference +"";
return t;
}
und immer bekommen die Fehler
Exception in thread "main" java.time.format.DateTimeParseException: Text '2016-06-28 22:29:44.700228' could not be parsed: Unable to obtain OffsetDateTime from TemporalAccessor: {},ISO resolved to 2016-06-28T22:29:44.700228 of type java.time.format.Parsed
at java.time.format.DateTimeFormatter.createError(Unknown Source)
at java.time.format.DateTimeFormatter.parse(Unknown Source)
at java.time.OffsetDateTime.parse(Unknown Source)
at Q2.getWatchTime(Q2.java:321)
at Q2.WatchTime(Q2.java:265)
at Q2.main(Q2.java:31)
ich den Unterschied zwischen diesen erhalten möchten zwei Tage. Ich habe versucht SimpleDateFormat
, aber es wird das Fehlerergebnis für die Mühlen bekommen.
Es ist nicht viel Sinn macht, einen 'Parser' zu erstellen, und dann rufen Sie uns sofort' ISO_DATE' darauf. –
ohne die 'Parser' und' ISO_DATE' wird auch erhalten DateTimePareseException –
Was ich sage ist, dass 'DateTimeFormatter.ofPattern (pattern) .ISO_DATE' ist äquivalent zu' DateTimeFormatter.ISO_DATE'. –