Содержание
Есть несколько способов сравнить даты с помощью Java. На языке внутренне дата представлена как момент времени с помощью переменной длинный. Он содержит количество миллисекунд, прошедших с первого января 1970 года. В Java есть класс Дает тебе (данные), который содержит несколько методов, помогающих проводить сравнения. Любой метод сравнения будет сравнивать время, сохраненное в двух объектах Date.
Шаги
Метод 1 из 4: Использование сравнить с
- Используйте метод compareTo. Класс Date реализует интерфейс Comparable
, поэтому две даты можно сравнить с помощью метода compareTo. Если даты совпадают, метод вернет ноль. Если сравниваемая дата раньше даты, переданной в качестве аргумента, возвращается значение меньше нуля. Если произойдет обратное, возвращаемое значение будет больше нуля. -
Создайте объекты даты. Вам нужно будет создать объект для каждой даты, прежде чем сравнивать их. Один из способов сделать это - использовать класс SimpleDateFormat. Это позволяет легко преобразовать дату в объект даты. - Сравните объекты даты. Приведенный ниже код демонстрирует каждый случай, когда в качестве аргумента передаются равные, второстепенные и основные даты.
Метод 2 из 4: Использование равно, The после это перед
-
Используйте методы equals, after и before (равные, after и before соответственно). Эти методы можно использовать для сравнения дат. Если две даты относятся к одному и тому же моменту времени, метод equals вернет true.В приведенных ниже примерах будут использоваться даты, которые мы уже создали при демонстрации метода compareTo. - Сравнение с использованием предыдущего метода. В приведенном ниже коде показан случай, возвращающий истину, и случай, возвращающий ложь. Если date1 раньше date2, before возвращает true. В противном случае возвращается false.
-
Сравнение с использованием метода after. В приведенном ниже коде показан случай, возвращающий истину, и случай, возвращающий ложь. Если date2 позже date1, возвращается true. В противном случае возвращается false. - Сравнение с использованием метода equals. В приведенном ниже коде показан случай, возвращающий истину, и случай, возвращающий ложь. Если даты совпадают, метод equals вернет true. В противном случае он вернет false.
Метод 3 из 4: использование класса Calendar
- Используйте календарь. Класс Calendar также имеет методы compareTo, equals, after и before, и они работают так же, как описано выше в классе date. Поскольку информация о дате сохраняется в календаре, нет необходимости извлекать дату для сравнения.
- Создайте экземпляры объектов Calendar. Чтобы использовать методы класса Calendar, необходимо создать экземпляры объектов этого класса. Хорошей новостью является то, что вы можете извлечь дату из ранее созданных экземпляров Date.
- Сравните cal1 и cal2, используя предыдущее. Приведенный ниже код должен возвращать истину, поскольку cal1 раньше, чем cal2.
- Сравните cal1 и cal2, используя после. Приведенный ниже код должен вернуть false, поскольку cal2 раньше, чем cal1.
- Сравните cal1 и cal2, используя equals. В приведенном ниже коде показан пример истинного и ложного случая. Ответ определяют два экземпляра класса Calendar, использованных при сравнении. Код должен вернуть «истина», а затем «ложь» в следующей строке.
Метод 4 из 4: Использование getTime
- Вы также можете использовать getTime для сравнения времени двух дат. Однако подходы, которые мы показали ранее, проще, поэтому, пожалуйста, отдайте им предпочтение. Это будет сравнение двух примитивных типов данных в java, поэтому это можно сделать с помощью операторов «<», «>» и «==».
- Создание длинных объектов для представления времени. Перед тем как сравнивать даты, создайте длинные целые числа и присвойте им объекты Date, которые мы создали ранее. К счастью, всю работу за вас сделает метод getTime ().
- Проведите сравнение «меньше чем». Для этого используйте символ «<» при сравнении двух целых чисел. Поскольку time1 меньше time2, должно отображаться первое сообщение. THE еще он был включен только из соображений синтаксиса.
- Проведите сравнение «больше». Для этого используйте символ «>» при сравнении двух целых чисел. Поскольку time1 больше времени time2, на экране должно появиться первое сообщение. THE еще он был включен только из соображений синтаксиса.
- Пройдите тест на равенство. Используйте символ «==» для проверки равенства при сравнении двух целых чисел. Поскольку time1 равно time3, на экране должно появиться первое сообщение. Если программа доходит до else, это означает, что даты не совпадают.