Home > Software design >  How to compare system's current LocalDateTime with input String date and time
How to compare system's current LocalDateTime with input String date and time

Time:12-03

I am trying to compare the current system's time and date with an input String time and date. I am using LocalDateTime.now() to get the systems current time, and also using DateTimeFormatter to format it as dd-MM-yyyy HH:mm pattern

static DateTimeFormatter frmt = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm");
static LocalDateTime time = LocalDateTime.now();

Here is what I have:

System.out.print("Enter the Appointment new Date and Time as dd-mm-yyyy hh:mm : ");
String dateAndTime = input.nextLine();

if (//dateAndTime is before or equals the current system time)
{
    System.out.println("The new date and time should be after the current time");
}
else
{
    System.out.println("Appointment has been updated");
}

CodePudding user response:

Assuming you have parsed the input to LocalDateTime you can do that as follows:

if (parsedDateTime.isAfter(LocalDateTime.now())) {
    System.out.println("Appointment has been updated");
} else {
    System.out.println("The new date and time should be after the current time");
}

Keep in mind that isAfter will return false if parsedDateTime and LocalDateTime.now() are exactly the same.

  • Related