Es gab viele Beiträge, die dieses Thema behandelt, aber aber ich sie an meinen Code anpassen Ich konnte keine passende Antwort finden.Datum Format wird verloren
try (BufferedReader br = new BufferedReader(new FileReader(path));)
{
String line = "";
Person tempPerson = null;
String dateFormat = "dd-MM-yyyy";
SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
Date tempBirthdayDate = null;
while ((line = br.readLine()) != null)
{
String[] splitFormat = line.split("/");
for (String s : splitFormat)
{
String[] datamember = s.split(", ");
//Some more stuff...
tempBirthdayDate = sdf.parse(datamember[3]);
sdf.format(tempBirthdayDate);
sdf.applyPattern(dateFormat);
//Some more stuff...
}
tempPerson = new Person(...,...,...,tempBirthdayDate,...,...);
}
}
Person.java Copy-Konstruktor:
public Person(..., ..., ..., Date birthdayDate, ..., ...)
{
this.xxx = ...;
this.xxx = ...;
this.xxx = ...;
this.birthdayDate = birthdayDate;
this.xxx = adresse;
this.xxx = ...;
}
Die "..." sind nur Halter platzieren Sie den Code zu verkürzen. In der Quelldatei (.txt) ist das Datum im selben Format, das ich oben definiert habe. Aber sobald ich die toString() - Methode auf dem birthdayDate anrufe, erhalte ich folgendes Ergebnis für z.B. 26.05.1993: Mi 26. Mai 00:00:00 CEST 1993. Vielen Dank für Ihre Hilfe!
Sie vergessen zu erwähnen, was ist Ihre gewünschte Ausgabe? – user3437460
Die Zeichenfolge, nach der Sie suchen, wird von 'sdf.format (tempBirthdayDate)' zurückgegeben. Und 'sdf.applyPattern (dateFormat)' ist redundant. – shmosel
was würden Sie sonst erwarten? Lesen Sie das Dokument für die von Ihnen verwendeten Methoden – njzk2