ฉันกำลังพยายามเปรียบเทียบวันที่ในรูปแบบ String กับวันที่ปัจจุบัน นี่คือวิธีที่ฉันทำ (ยังไม่ได้ทดสอบ แต่ควรได้ผล) แต่กำลังใช้วิธีที่เลิกใช้แล้ว มีข้อเสนอแนะที่ดีสำหรับทางเลือกอื่นหรือไม่? ขอบคุณ.
ปล. ฉันเกลียดการทำ Date ใน Java มาก มีหลายวิธีในการทำสิ่งเดียวกันซึ่งคุณไม่แน่ใจจริงๆว่าวิธีใดเป็นวิธีที่ถูกต้องดังนั้นคำถามของฉันที่นี่
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 เก่าดูวิธีการใช้ ThreeTenABP ในโครงการ