Съдържание
Има няколко начина за сравняване на дати с помощта на Java. Вътрешно, в езика, датата се представя като момент във времето, използвайки променлива дълго. Той съдържа броя на милисекундите, изминали от първия януари 1970 г. В Java има клас Дава ти (данни), който съдържа няколко метода, които помагат да се правят сравнения. Всеки метод за сравнение основно ще сравнява времето, записано в два обекта Date.
Стъпки
Метод 1 от 4: Използване на сравни с
- Използвайте метода compareTo. Класът Date изпълнява сравнимия интерфейс
следователно две дати могат да бъдат сравнени с помощта на метода compareTo. Ако датите са еднакви, методът ще върне нула. Ако датата, която се сравнява, е по-ранна от датата, предадена като аргумент, се връща стойност, по-малка от нула. Ако се случи обратното, върнатата стойност ще бъде по-голяма от нула. -
Създайте обектите за дата. Ще трябва да създадете обект за всяка дата, преди да ги сравните. Един от начините да направите това е да използвате класа SimpleDateFormat. Тя ви позволява лесно да трансформирате дата в обект за дата. - Сравнете обектите за дата. Кодът по-долу ще демонстрира всеки случай, в който като аргумент се подават равни, малки и големи дати.
Метод 2 от 4: Използване на равно на, The след това е преди
-
Използвайте методите equals, after и before (равни на, след и преди, съответно). Можете да използвате тези методи, за да ви помогне да сравните датите. Ако две дати се отнасят до един и същ момент от времето, методът equals ще върне true.Примерите по-долу ще използват датите, които вече създадохме, когато демонстрирахме метода compareTo. - Сравняване с използване на метода преди. Кодът по-долу показва случай, който връща true и такъв, който връща false. Ако date1 е по-рано от date2, преди връща true. В противен случай връща false.
-
Сравняване с използване на метода after. Кодът по-долу показва случай, който връща true и такъв, който връща false. Ако date2 е по-късен от date1, той връща true. В противен случай връща false. - Сравняване с помощта на метода equals. Кодът по-долу показва случай, който връща true и такъв, който връща false. Ако датите са еднакви, методът equals ще върне true. В противен случай ще върне false.
Метод 3 от 4: Използване на календарен клас
- Използвайте календара. Класът Calendar също има методите compareTo, equals, after и before и те работят по същия начин, както е описано по-горе в класа date. Тъй като информацията за датата се записва в календара, няма нужда да се извлича датата, за да се направи сравнението.
- Създайте екземпляри на обекти в Календар. За да използвате методите на класа Calendar, ще е необходимо да създадете екземпляр на обекти от този клас. Добрата новина е, че можете да извлечете датата от предварително създадени екземпляри за дата.
- Сравнете cal1 и cal2, като използвате предишното. Кодът по-долу трябва да върне true, тъй като cal1 е по-рано от cal2.
- Сравнете cal1 и cal2, като използвате след. Кодът по-долу трябва да върне false, тъй като cal2 е по-рано от cal1.
- Сравнете cal1 и cal2, използвайки равно. Кодът по-долу показва пример за истински случай и фалшив случай. Това, което определя отговора, са двата екземпляра на класа Календар, използвани в сравнението. Кодът трябва да върне „true“ и след това „false“ на следващия ред.
Метод 4 от 4: Използване на getTime
- Можете също да използвате getTime, за да сравните времето на две дати. Въпреки това подходите, които показахме по-рано, са по-прости, така че, моля, дайте им предпочитание. Това ще бъде сравнение на два примитивни типа данни в java, така че може да се направи с помощта на операторите "<", ">" и "==".
- Създаване на дълги обекти, които да представят времето. Преди да сравнявате дати, създайте дълги цели числа и им задайте обектите Date, които създадохме по-рано. За щастие методът getTime () ще свърши цялата работа вместо вас.
- Направете сравнение „по-малко от“. За целта използвайте символа „<“, когато сравнявате две цели числа. Тъй като time1 е по-малко от time2, трябва да се покаже първото съобщение. НА друго той беше включен само по синтаксични причини.
- Направете сравнение „по-голямо от“. За целта използвайте символа “>”, когато сравнявате двете цели числа. Тъй като time1 е по-голям от time2, първото съобщение трябва да се появи на екрана. НА друго той беше включен само по синтаксични причини.
- Направете тест за равенство. Използвайте символа “==”, за да тествате за равенство при сравняване на две цели числа. Тъй като time1 е равно на time3, първото съобщение трябва да се появи на екрана. Ако програмата достигне другото, това означава, че датите не са еднакви.