Ich habe einen Workflow, wo ich einen Datumswert als Eingabe nehmen, bearbeiten und zur Ausgabe im exakten Format übergeben muss. Um diese Aufgabe zu bewältigen, ich benutze diese:Java Nicht übertragbares Datum: unterschiedliche Anzahl von Zeichen in ms Wert
TimeZone tz = TimeZone.getTimeZone("UTC");
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX");
df.setTimeZone(tz);
long date = df.parse(inputDate).getTime() + 1;
outputDate = df.format(date).toString();
Die meisten der Zeit, dieses Stück Code funktioniert gut. Aber manchmal bekomme ich Eingabedatum wie folgt aus:
2016-05-25T22:00:10.6Z
Bitte geben Sie die Anzahl der Zeichen für ms bemerken, es 1 ist statt 3.
In Fällen wie oben, erhalte ich die Ausnahme:
java.text.ParseException: Unparseable date: "2016-05-25T22:00:10.6Z"
at java.text.DateFormat.parse(DateFormat.java:366)
Es gibt keine Möglichkeit für mich, das Eingabedatum zu beeinflussen, aber ich brauche genau drei Zahlen in ms Teil. Wie bekomme ich es?