#java #datetime #java-time #localdatetime #datetime-comparison
#Ява #дата и время #java-время #местное время #сравнение даты и времени
Вопрос:
Я пытаюсь сравнить время и дату текущей системы с вводимой строкой времени и даты. Я использую, LocalDateTime.now()
чтобы получить текущее время системы, а также DateTimeFormatter
форматирую его как dd-ММ-гггг ЧЧ:мм шаблон
static DateTimeFormatter frmt = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm"); static LocalDateTime time = LocalDateTime.now();
Вот что у меня есть:
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"); }
Комментарии:
1. Проанализируйте
dateAndTime
до aLocalDateTime
, а затем сравните его сtime
использованиемtime.compareTo(...)
.2. Я проанализировал это, как же мне тогда сравнивать?
3.
LocalDateTime
естьcompareTo
способ.
Ответ №1:
Предполагая, что вы проанализировали входные данные LocalDateTime
, вы можете сделать это следующим образом:
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"); }
Имейте в виду, что isAfter
это вернет значение false, если parsedDateTime
и LocalDateTime.now()
будут точно такими же.