Inhoud
- stadia
- Methode 1 met behulp van CompareTo
- Methode 2 Gebruik de is gelijk aan, na en vóór methoden
- Methode 3 Gebruik de kalenderklasse
- Methode 4 De getTime-methode gebruiken
Er zijn verschillende manieren om datums in Java te vergelijken. In deze computertaal wordt een datum weergegeven als een punt (van het lange type) in de tijd, dat het aantal milliseconden sinds 1 januari 1970 weergeeft. In Java is Date een object, wat betekent dat het verschillende vergelijkingsmethoden omvat .Elke methode waarbij twee datums worden vergeleken, bestaat voornamelijk uit het vergelijken van de tijden van deze datums.
stadia
Methode 1 met behulp van CompareTo
-
Gebruik CompareTo. Het object Date implementeert Vergelijkbaaren dus kunnen twee datums direct worden vergeleken met de methode CompareTo. Als de datums overeenkomen met hetzelfde tijdstip, retourneert de methode nul. Als de vergeleken datum vóór de als argument opgegeven datum ligt, wordt een negatieve waarde geretourneerd. Als de vergeleken datum na de als argument opgegeven datum valt, wordt een positieve waarde geretourneerd. Als de datums gelijk zijn, is de retourwaarde 0. -
Maak de datumsobjecten. U moet elk Date-object maken voordat u ze gaat vergelijken. Een manier om dit te doen is om de klasse SimpleDateFormat te gebruiken. Het maakt het gemakkelijk om datumwaarden in datumobjecten in te voeren.
SimpleDateFormat sdf = new SimpleDateFormat ("jjjj-MM-dd"); // Om waarden in nieuwe Date-objecten te declareren, gebruikt u hetzelfde datumformaat als voor het maken van datums Date date1 = sdf.parse ("1995-02-23"); // Date1 is 23 februari 1995 Date date2 = sdf.parse ("2001-10-31"); // Date2 is 31 oktober 2001 Date date3 = sdf.parse ("1995-02-23"); // De datum3 is 23 februari 1995
date1.compareTo (datum2); // date1 <date2, retourneert een negatieve date2.compareTo (date1); // date2> date1, retourneert een positieve date1.compareTo (date3); // date1 = date3, de console geeft 0 weer
Methode 2 Gebruik de is gelijk aan, na en vóór methoden
-
gebruik gelijken, after en voor. Datums kunnen worden vergeleken met behulp van gelijken, na en vóór methoden. Als twee datums overeenkomen met hetzelfde tijdstip, geeft de methode is gelijk aan true. In de volgende voorbeelden worden de datums gebruikt die eerder zijn gemaakt voor de methode CompareTo. -
Maak een vergelijking met de vorige methode. De onderstaande code geeft een echt geval en een onjuist geval weer. Als date1 vóór date2 is, retourneert before true. Als dit niet het geval is, retourneert het false.
System.out (date1.before (date2)). // print true System.out. (date2.before (date2)); // display false
System.out. (Date2.after (date1)); // geeft true System.out. (Date1.after (date2)) weer; // geeft false weer
System.out. (Date1.equals (date3)); // geeft true System.out. (Date1.equals (date2)) weer; // geeft false weer
Methode 3 Gebruik de kalenderklasse
-
Gebruik de kalender. De klasse Calendar bevat ook de methoden CompareTo, is gelijk aan, after en before, die op dezelfde manier werken als hierboven beschreven voor de klasse Date. Dus als de datuminformatie in een kalender staat, is het niet nodig om de datum te extraheren gewoon om een vergelijking te maken. -
Maak exemplaren van Agenda. Als u methoden van de klasse Agenda wilt gebruiken, hebt u enkele instanties van Agenda nodig. Gelukkig kunt u tijdinformatie ophalen van reeds gemaakte datuminstanties.
Kalender cal1 = Calendar.getInstance (); // declareren cal1 Kalender cal2 = Calendar.getInstance (); // declareren cal2 Kalender cal3 = Calendar.getInstance (); // declareer cal3 cal1.setTime (date1); // voer de datum in cal1 cal2.setTime (date2) in; cal3.setTime (date3);
System.out (cal1.before (CAL2)). // wordt true weergegeven
System.out (cal1.after (CAL2)). // show false
System.out.ln (cal1.equals (CAL3)); // show true: cal1 == cal3 System.out. (cal1.equals (cal2)); // display false: cal1! = cal2
Methode 4 De getTime-methode gebruiken
-
Gebruik getTime. Het is ook mogelijk om het tijdstip van de twee datums direct te vergelijken, hoewel een van de bovenstaande benaderingen beter leesbaar en daarom de voorkeur verdient. Dit is een vergelijking tussen twee soorten primitieve gegevens, dus het kan worden gedaan met "<", ">" en "==". -
Maak lange tijd objecten. Voordat u datums kunt vergelijken, moet u lange gehele getallen (of "lange gehele getallen") maken met gegevens van eerder gemaakte datumobjecten. Gelukkig zal de methode getTime () bijna al het werk voor je doen.long time1 = getTime (date1); // declareer de primitieve time1 van date1 long time2 = getTime (date2); // declareer de primitieve tijd2 vanaf datum2
-
Maak een "minder dan" vergelijking. Gebruik het symbool "minder dan" (<) om twee prothesen te vergelijken. Omdat tijd1 korter is dan tijd 2, moet de eerste worden weergegeven. De voorwaarde "anders" is opgenomen om een correcte syntaxis te hebben.if (time1 <time2)