Java inbyggda klasser som LocalDate och Period gör det enkelt.
LocalDate
Period
Hur gör man? import java.time.LocalDate; import java.time.Month; public class DatumJämförelse { public static void main(String[] args) { LocalDate datum1 = LocalDate.of(2023, Month.MARCH, 28); LocalDate datum2 = LocalDate.now(); // Jämförning if(datum1.isAfter(datum2)) { System.out.println("Datum1 är efter Datum2."); } else if(datum1.isBefore(datum2)) { System.out.println("Datum1 är före Datum2."); } else { System.out.println("Datum1 och Datum2 är samma."); } } } Exempelutskrift: Datum1 är före Datum2. Fördjupning I Java, tidsbaserad jämförelse började i JDK 1.0 med Date klassen.
Vi använder java.time.format.DateTimeFormatter och java.time.LocalDate i Java för datumkonvertering.
java.time.format.DateTimeFormatter
java.time.LocalDate
Java erbjuder flera sätt att få dagens datum, genom att använda både den gamla java.util.Date-klassen och det nyare java.time-paketet (introducerat i Java 8) som är mer mångsidigt och intuitivt.
java.util.Date
java.time
Hur man gör: Använda java.time-paketet (Rekommenderas i Java 8 och senare): import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateParser { public static void main(String[] args) { String dateString = "2023-04-30"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate date = LocalDate.parse(dateString, formatter); System.out.println(date); // Utmatning: 2023-04-30 } } Använda SimpleDateFormat (Äldre tillvägagångssätt): import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateParser { public static void main(String[] args) { String dateString = "30/04/2023"; SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); try { Date date = formatter.