Ich versuche, ein Datum in einem String-Format mit dem aktuellen Datum zu vergleichen. So habe ich es gemacht (nicht getestet, sollte aber funktionieren), verwende aber veraltete Methoden. Irgendwelche guten Vorschläge für eine Alternative? Vielen Dank.
PS Ich hasse es wirklich, Date-Sachen in Java zu machen. Es gibt so viele Möglichkeiten, dasselbe zu tun, dass Sie wirklich nicht sicher sind, welche die richtige ist, daher meine Frage hier.
String valid_until = "1/1/1990";
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/mm/yyyy");
Date strDate = sdf.parse(valid_until);
int year = strDate.getYear(); // this is deprecated
int month = strDate.getMonth() // this is deprecated
int day = strDate.getDay(); // this is deprecated
Calendar validDate = Calendar.getInstance();
validDate.set(year, month, day);
Calendar currentDate = Calendar.getInstance();
if (currentDate.after(validDate)) {
catalog_outdated = 1;
}
Calendar
,SimpleDateFormat
,Date
oder eine der anderen langen veralteten Java Datum und Zeitklassen. Verwenden Sie stattdessenjava.time
die moderne Java-API für Datum und Uhrzeit . Ja, Sie können es auf Android verwenden. Für ältere Android siehe Verwendung von ThreeTenABP in Android Project .