我正在尝试将字符串格式的日期与当前日期进行比较。这就是我的做法(尚未测试,但应该可以工作),但是我使用的是不赞成使用的方法。有什么好的建议吗?谢谢。
PS:我真的很讨厌用Java做Date的事情。做同一件事的方法有很多,以至于您真的不确定哪一种是正确的,因此我在这里提出问题。
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
或任何其他早已过时的Java日期和时间类的。取而代之的是使用java.time
现代Java日期和时间API。是的,您可以在Android上使用它。对于较旧的Android,请参见如何在Android Project中使用ThreeTenABP。