Sådan sammenlignes to datoer i Java

Der er flere måder at sammenligne datoer ved hjælp af Java. Internt på sprog er en dato repræsenteret som et tidspunkt i brug af en variabel lang

. I den er mængden af ​​millisekunder, der er gået siden den første dag i januar 1970 lagret. I Java er der klassen dato (dato), som indeholder flere metoder, der hjælper dig med at sammenligne. Enhver sammenligningsmetode vil i det væsentlige sammenligne de gange, der er gemt i to Date-objekter.

trin

Metode 1
Brug af sammenligne med

Billede betegnet 4301351 1
1
Brug comparTo-metoden. Dato-klassen implementerer den sammenlignelige grænseflade, så to datoer kan sammenlignes ved hjælp af comparTo-metoden. Hvis datoerne er de samme, returnerer metoden nul. Hvis datoen, der sammenlignes, er tidligere end datoen er gået som et argument, returneres en værdi mindre end nul. Hvis omvendt sker, vil den returnerede værdi være større end nul.
  • Billede betegnet 4301351 2
    2
    Opret datobjektene. Du skal oprette et objekt for hver dato, før du sammenligner dem. En måde at gøre dette på er at bruge klassen SimpleDateFormat. Det giver dig mulighed for nemt at omdanne en dato til en datoobjekt.
    SimpleDateFormat sdf = new SimpleDateFormat ("dd-MM-yyyy") - // Definere deklarationsformat for nye datoobjekter. Brug samme format, når erklære ny datasDate data1 = sdf.parse ( "23/02/1995") - // data1 er 23. februar 1995Date data2 = sdf.parse ( "31/10/2001") - // dato2 er 31. oktober 2001Date data3 = sdf.parse ("23-02-1995") - // data3 er 23. februar 1995
  • Billede betegnet 4301351 3
    3
    Sammenlign datoobjekter. Koden nedenfor viser hvert tilfælde, hvor lige, mindre, og større datoer er bestået som et argument.
    data1.compareTo (date2) - // data1 < data2, retorna um valor menor que 0data2.compareTo(date1)- //data2 > data1, returnerer en værdi større end 0data1.compareTo (date3) - // data1 = data3, så vises 0 i konsollen
  • Metode 2
    Brug af lig, den efter og før

    Billede betegnet 4301351 4
    1
    Brug de ligeværdige, efter og før metoder (lig med henholdsvis efter og før). Du kan bruge disse metoder til at hjælpe med at sammenligne datoer. Hvis to datoer henviser til samme tidspunkt, vil ligestillingsmetoden returnere ægte. Nedenstående eksempler vil bruge de datoer, vi allerede har oprettet, når vi demonstrerer comparTo-metoden.
  • Billede betegnet 4301351 5
    2
    Sammenligning ved hjælp af den tidligere metode. Koden nedenfor viser et tilfælde, der returnerer ægte og en, der returnerer falsk. Hvis dato1 er tidligere end dato2, før returnering er ægte. Ellers returneres det falsk.
    System.out.print (data1.before (data2)) - // skriver trueSystem.out.print (data2.before (data2)) - // skriver falsk
  • Billede betegnet 4301351 6
    3
    Sammenligning ved brug af eftermetoden. Koden nedenfor viser et tilfælde, der returnerer ægte og en, der returnerer falsk. Hvis dato2 er senere end dato1, returneres det sandt. Ellers returneres det falsk.
    System.out.print (data2.after (data1)) - // skriver trueSystem.out.print (data1.after (data2)) - // skriver falsk
  • Billede betegnet 4301351 7
    4
    Sammenligning ved hjælp af ligestillingsmetoden. Koden nedenfor viser et tilfælde, der returnerer ægte og en, der returnerer falsk. Hvis datoerne er de samme, returnerer ligestillingsmetoden sande. Ellers returneres det falsk.
    System.out.print (data1.equals (data3)) - // skriver trueSystem.out.print (data1.equals (data2)) - // skriver falsk
  • Metode 3
    Brug af Kalender-klassen

    Billede betegnet 4301351 8
    1
    Brug kalenderen. Kalenderklassen har også sammenlignet, ligestilling, efter og før metoder, og de fungerer på samme måde som beskrevet ovenfor i dataklassen. Da oplysningerne om en dato er gemt i kalenderen, er det ikke nødvendigt at uddrage datoen for sammenligningen.
  • Billede betegnet 4301351 9
    2
    Opret forekomster af kalenderobjekter. For at bruge kalenderklassemetoder skal du instantiere objekter i denne klasse. Den gode nyhed er, at du kan udtrække datoen fra tidligere oprettede datoinstanser.


    Kalender CAL1 = Calendar.getInstance () - // erklære cal1Calendar CAL2 = Calendar.getInstance () - // erklærer cal2Calendar CAL3 Calendar.getInstance = () - // cal3cal1.setTime stater (data1) - // gælder datoen for cal1cal2 .setTime (data2) -cal3.setTime (dato3) -
  • Billede betegnet 4301351 10
    3
    Sammenlign cal1 og cal2 ved hjælp af før. Koden nedenfor skal returnere sand, da cal1 er tidligere end cal2.
    System.out.print (cal1.before (cal2)) - // Netorna true
  • Billede titel 4301351 11
    4
    Sammenlign cal1 og cal2 ved hjælp af den efterfølgende. Koden nedenfor skal returnere falsk, fordi cal2 er tidligere end cal1.
    System.out.print (cal1.after (cal2)) - // Netorna false
  • Billede betegnet 4301351 12
    5
    Sammenlign cal1 og cal2 ved hjælp af ligningerne. Koden nedenfor viser et eksempel på et sandt tilfælde og en falsk sag. Hvad der definerer svaret er de to forekomster af kalenderklassen, der blev brugt i sammenligningen. Koden skal returnere "true" og derefter "false" på den næste linje.
    System.out.println (cal1.equals (CAL3)) - // Netorna sande: CAL1 == cal3System.out.print (cal1.equals (CAL2)) - // returnerer falsk: CAL1 CAL2 =!
  • Metode 4
    Brug af getTime

    Billede betegnet 4301351 13
    1
    Du kan også bruge getTime til at sammenligne tidspunktet for to datoer. De tilgange, vi har vist tidligere, er imidlertid enklere, så giv dem fortrinsret. Dette vil være en sammenligning af to primitive datatyper i java, så det kan gøres ved hjælp af "<", ">"og" == ".
  • Billede betegnet 4301351 14
    2
    Oprettelse af lange objekter for at repræsentere tid. Før du sammenligner datoerne, opretter du lange heltal og tildeler de Dato objekter, vi oprettede tidligere. Heldigvis vil getTime () -metoden gøre alt for dig.
    = Tid1 lang getTime (data1) - // erklære den primitive type fra tid1 data1long time2 = getTime (data2) - // erklærer den primitive Tid2 fra data2
  • Billede betegnet 4301351 15

    Video: PHP Tutorials | PHP For Beginners

    3
    Lav en "mindre end" sammenligning. For at gøre dette skal du bruge symbolet "<” ao comparar dois inteiros. Como time1 é menor que time2, a primeira mensagem deve ser exibida. O andet blev medtaget kun af syntax.
    hvis (tid1 < time2){System.out.println("data1 é anterior a data2")- //aparecerá na tela, pois time1 < time2}else{System.out.println("data1 não é anterior a data2")-}
  • Billede betegnet 4301351 16
    4
    Lav en "større end" sammenligning. For at gøre dette skal du bruge symbolet ">", når du sammenligner de to heltal. Da tid1 er større end tid2, skal den første meddelelse vises på skærmen. den andet blev medtaget kun af syntax.
    hvis (time2> tid1) {System.out.println ( "dato2 dato1 er senere") - // er vist, i tiden 2> tid1} else {System.out.println ( "dato2 er senest dato1") - }
  • Billede betegnet 4301351 17
    5
    Tag en ligestillingstest. Brug symbolet "==" til at teste for ligestilling, når du sammenligner to heltal. Da tid1 er lig med tid3, skal den første meddelelse vises på skærmen. Hvis programmet når ellers, betyder det, at datoerne ikke er de samme.
    hvis (tid1 tid2 ==) {System.out.println ( "de datoer er lige") -} else {System.out.println ( "de datoer er ikke lige") - // vises på skærmen, da tid1 =! Tid2}
  • Kilder og citater

    Vis mere ... (1)
    Del på sociale netværk:

    Relaterede
    © 2024 HodTari.com