Hoe twee datums in Java te vergelijken
Er zijn verschillende manieren om twee datums op Java te vergelijken. Een datum wordt intern weergegeven als een tijdstip in type lang
Inhoud
stappen
Methode 1
gebruik compareTo
1
toepassingen compareTo. De klas datum gereedschap vergelijkbaar , daarom kunt u twee datums rechtstreeks vergelijken met de methode compare to. Als de datums hetzelfde punt in de tijd vertegenwoordigen, retourneert de methode een nul. Als de datum die u gaat vergelijken zich vóór het argument bevindt datum, de methode retourneert een waarde kleiner dan nul. Als de datum die u gaat vergelijken zich na het argument bevindt datum, de methode retourneert een waarde groter dan nul. Als de datums hetzelfde zijn, retourneert de methode een nul.
2
Type-objecten maken datum. U moet elk object maken datum voordat u begint met het vergelijken van de datums. Een manier om dit te doen, is door de klas te gebruiken SimpleDateFormat. Hiermee kunt u gemakkelijk datumwaarden invoeren in type-objecten datum.
SimpleDateFormat sdf = nieuw SimpleDateFormat ("yyyy-MM-dd") - // Om waarden in nieuwe datumobjecten te declareren, gebruikt u dezelfde datumindeling die u hebt gebruikt bij het maken van datums Datum datum1 = sdf.parse ("1995/02/23") - // datum1 is 23 februari 1995 Datum datum2 = sdf.parse ("2001/10/31") - // date2 is 31 oktober 2001Datum datum3 = sdf.parse ("1995/02/23") - // datum3 is op 23 februari 1995
3
Vergelijk objecten datum. De onderstaande code toont elk geval (kleiner dan, gelijk aan en groter dan).
date1.compareTo (datum2) - // datum1 < date2, retourneert een waarde minder dan 0date2.compareTo (datum1) - // datum2 > date1, retourneert een waarde groter dan 0date1.compareTo (datum3) - // datum1 = datum3, een 0 wordt weergegeven in de console
Methode 2
gebruik is gelijk aan, na en voor
1
toepassingen is gelijk aan, na en voor. Datums kunnen worden vergeleken met de methoden is gelijk aan (Equal), na (na) en voor (Voor). Als twee datums hetzelfde punt in de tijd vertegenwoordigen, de methode is gelijk aan zal terugkeren waar (True). In deze voorbeelden worden de datums gebruikt die eerder voor de methode zijn gemaakt compareTo.
2
Vergelijk het met behulp van de methode voor. De volgende code toont een echte en een valse. als datum1 is eerder date2, voor zal terugkeren waar. Anders keert het terug vals.
System.out.print (date1.before (date2)) - // geeft true (waar) System.out.print (date2.before (date2)) - // onwaar (false)
3
Vergelijk het met behulp van de methode na. De volgende code toont een echte en een valse. als date2 is na datum1, na zal terugkeren waar. Anders keert het terug vals.
System.out.print (date2.after (datum1)) - // geeft true (waar) System.out.print (date1.after (date2)) - // false retourneert (false)
4
Vergelijk het met behulp van de methode is gelijk aan. De volgende code toont een echte en een valse. Als de datums hetzelfde zijn, is gelijk aan zal terugkeren waar. Als ze dat niet zijn, zal het terugkeren vals.
System.out.print (date1.equals (DATE3)) - // geeft true (waar) System.out.print (date1.equals (date2)) - // false retourneert (false)
Methode 3
Gebruik de klas kalender
1
Gebruik de klas kalender. De klas kalender hij heeft ook de methoden compareTo, is gelijk aan, na en voor die op dezelfde manier werken als hierboven beschreven voor de klas datum. Vervolgens, als de informatie in een object is opgeslagen kalender, het is niet nodig om de datum uit te pakken alleen om een vergelijking te maken.
2
Maak exemplaren van kalender. Om de methoden van te gebruiken kalender, u moet enkele instanties van deze klasse maken. Gelukkig kun je eenvoudig de datums nemen van instanties van datum wat je eerder hebt gemaakt
Kalender CAL1 = Calendar.getInstance () - // verklaren cal1Calendar CAL2 = Calendar.getInstance () - // verklaren cal2Calendar CAL3 = Calendar.getInstance () - // verklaren cal3cal1.setTime (datum1) - // Geldt tot op heden cal1cal2. setTime (date2) -cal3.setTime (date3) -
3
vergelijken CAL1 en CAL2 gebruik voor. De volgende code zou moeten verschijnen waar als CAL1 is eerder CAL2.
System.out.print (cal1.before (cal2)) - // zal true tonen (true)
4
vergelijken CAL1 en CAL2 gebruik na. De volgende code zou moeten verschijnen vals als CAL1 is eerder CAL2.
System.out.print (cal1.after (cal2)) - // zal false (false) weergeven
5
vergelijken CAL1 en CAL2 gebruik is gelijk aan. De volgende code toont een echt voorbeeld en een fout exemplaar. De voorwaarde is afhankelijk van de instanties van de kalender die wordt vergeleken. De code zou moeten verschijnen waar en dan vals in de volgende regel.
System.out.println (cal1.equals (CAL3)) - // tonen waar (true) == CAL1 cal3System.out.print (cal1.equals (CAL2)) - // tonen onwaar (false): CAL1 =! CAL2
Methode 4
gebruik getTime
1
toepassingen getTime. U kunt ook data vergelijken direct vanaf het moment vertegenwoordigd door deze data, kan het echter beter zijn om de bovenstaande methoden te gebruiken, omdat ze meer leesbaar en dus handiger. Deze vergelijking wordt gemaakt met twee soorten primitieve gegevens, dus u kunt het doen met <, > en ==.
2
Type-tijdobjecten maken lang. Voordat u de datums kunt vergelijken, moet u hele objecten van het type maken lang met de gegevens van de objecten datum wat je had gemaakt Gelukkig is de methode getTime Hij zal het werk voor je doen.
lange getTime time1 = (datum1) - // verklaart primitieve variërend van date1long time1 time2 = getTime (date2) - // verklaart primitieve variërend van time2 date2
3
Maak een vergelijking van het type "minder dan". Gebruik het symbool "minder dan" (<) om deze twee geheel-getalwaarden te vergelijken. als time1 is minder dan time2, Het eerste bericht moet worden weergegeven. De zin anders het is opgenomen met het doel een toepasselijke syntaxis toe te passen.
als (tijd1 < time2) {System.out.println ("datum1 is vóór datum2") - // dit bericht wordt weergegeven omdat time1
4
Maak een vergelijking van het type "groter dan". Gebruik het symbool "groter dan" (>) om deze twee geheel-getalwaarden te vergelijken. als time1 is groter dan time2, Het eerste bericht moet worden weergegeven. De zin anders het is opgenomen met het doel een toepasselijke syntaxis toe te passen.
als (tijd2 > tijd1) {System.out.println ("datum2 is na datum1") - // dit bericht wordt weergegeven omdat time2 > time1} else {System.out.println ("datum2 is niet na datum1") -}
5
Maak een vergelijking van het type "zoals". Gebruik het gelijkheidsverificatiesymbool (==) om deze twee geheel-getalwaarden te vergelijken. als time1 het is hetzelfde als time2, Het eerste bericht moet worden weergegeven. Als het programma de zin bereikt anders, het betekent dat de data niet hetzelfde zijn.
if (time1 == time2) {System.out.println ("de data zijn hetzelfde") -} else {System.out.println ("de data zijn niet hetzelfde") - // dit bericht wordt weergegeven omdat time1! = time2}
Delen op sociale netwerken:
Verwant
- Hoe de dag van de week te berekenen met Excel
- Hoe de leeftijd in Excel te berekenen
- Hoe de datumnotatie in Excel te veranderen
- Hoe de datum van een bestand te veranderen
- Hoe de datum en tijd op een iPhone te veranderen
- De datum en tijd wijzigen op een Android-telefoon
- Tekenreeksen in Java vergelijken
- Hoe een vakantiereactie op Yahoo in te stellen
- Een steen-, papier- en scharengame maken in Java
- Hoe een methode in Java te noemen
- Hoe breuken te vergelijken
- Hoe de datum in het Frans te schrijven
- Hoe datums te onthouden
- Hoe UTM-coördinaten te lezen
- Hoe een bestelling te plaatsen
- De pagina Internetarchief gebruiken
- Hoe de datum in Windows 8 te veranderen
- Hoe twee kettingen te vergelijken in programmeren C
- Hoe een formule te maken om een datum een maand te verhogen
- Hoe de Java-versie te bepalen die is geïnstalleerd
- Hoe een reis plannen met behulp van de diensten van een busverhuurbedrijf