Sto cercando di confrontare una data in un formato String con la data corrente. È così che l'ho fatto (non l'ho testato, ma dovrebbe funzionare), ma sto usando metodi deprecati. Qualche buon suggerimento per un'alternativa? Grazie.
PS Odio davvero fare cose di Date in Java. Ci sono così tanti modi per fare la stessa cosa, che davvero non sei sicuro di quale sia quello corretto, da qui la mia domanda qui.
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,Dateo una qualsiasi delle altre classi di data e ora Java obsoleti lunghi. Utilizza invecejava.timela moderna API di data e ora Java . Sì, puoi usarlo su Android. Per Android meno recenti, vedere Come utilizzare ThreeTenABP in Android Project .