ich den Code unten lief und bekam zwiespältiges Ergebnis:Simple gibt falsche Datum
import java.text.SimpleDateFormat;
import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
public class Test
{
public static void main(String[] args)
{
DateFormat format = new SimpleDateFormat("yyyyMMdd");
DateFormat secFormat = new SimpleDateFormat("ddMMYYYY");
String date = "20171231";
try {
Date newDate = format.parse(date);
System.out.println("Normal: "+newDate);
System.out.println("Actual:
"+secFormat.format(newDate));
} catch (ParseException ex) {
System.out.println("Exception");
}
}
}
Das obige Ergebnis bekam ich als unten: Normal: Sun 31. Dezember 00.00.00 UTC 2017 Aktuell: 31.122.018
31122018 wird zurückgegeben, wenn der Wert 31122017 ist. Kann mir jemand helfen, das korrekte Ergebnis als eine Anforderung in meinem Projekt zu bekommen.
'YYYY' ist nicht das gleiche wie' yyyy'. Siehe [Umwandlung von Java-Zeichenfolgen in Datum] (https://stackoverflow.com/q/4216745/5221149). – Andreas
mit ddMMyyyy hat auch 31122018 anstelle von 31122017, aber als ich versuchte mit ddMMyyy konnte ich 31122017 bekommen. Danke für Ihre Hilfe :) –