У меня есть следующая проблема с классом даты. Я хочу сравнить строку, которая поставляется с методом toString() класса date, со строкой, которую пользователь дает в качестве даты и времени. При сравнении двух строк equals() всегда возвращает false, даже если я копирую/вставляю дату и время! Есть ли способ сравнить дату и временную строку успешно только с классом Date? Огромное спасибо!!Java класс даты, сравнивающий две строки дат
import java.util.Date;
import java.util.Scanner;
public class SystemTest {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String timeNow = new String((new Date()).toString());
System.out.println(timeNow);
System.out.println("Give date and time: ");
String time = new String(input.next());
if(time.equals(timeNow)){
System.out.println("Even");
}else{
System.out.println("Not Even..");
}
}
}
Вы можете предоставить логику, которая будет анализировать любую строку до даты, пока строка действительно содержит допустимую дату. Вот ссылка на статью по этой теме: https://www.linkedin.com/pulse/java-8-javatime-package-parsing-any-string-date-michael-gantman?trk=pulse_spock-articles –
I понял, что ты сказал. Но есть ли другой способ сравнить день, месяц, год с пользователем с датами? timeNow.getYear() или getMonth(), похоже, не работает. – Cache
_ «Кажется не работает» _ недостаточно информации, чтобы помочь вам. Как выглядит пользовательская дата? Пожалуйста, отредактируйте свой вопрос, чтобы показать соответствующую информацию. –