Henter ut år, måned og dag fra dato i Java

1. Oversikt

I denne korte opplæringen vil vi se på hvordan du henter ut år, måned og dag fra et gitt Dato i Java.

Vi vil se på hvordan vi kan hente ut disse verdiene ved hjelp av arven java.util.Date klasse og også ved å bruke det nye datotidsbiblioteket til Java 8.

I Java 8 ble et helt nytt dato- og tidsbibliotek introdusert av en rekke gode grunner. Foruten andre fordeler, det nye biblioteket gir et bedre API for operasjoner som å trekke ut År, Måned, Dag etc. fra gitt Dato.

Og hvis du leter etter en mer detaljert artikkel om det nye datotidsbiblioteket, kan du ta en titt her.

2. Bruke Java 7

For en gitt java.util.Date for å trekke ut individuelle felt som År, Måned, Dag osv. det første trinnet vi trenger å gjøre er å konvertere det til Kalender forekomst:

Dato dato = // datoen forekomsten Kalender kalender = Calendar.getInstance (); calendar.setTime (dato);

Når vi har en Kalender For eksempel kan vi direkte påberope det metode og gi det spesifikke feltet vi vil trekke ut.

Vi kan bruke konstanter tilstede i Kalender for å trekke ut spesifikke felt.

2.1. Få år

For å trekke ut år, vi kan påberope oss ved å passere Kalenderår som argument:

calendar.get (Calendar.YEAR);

2.2. Få måned

Tilsvarende for å trekke ut måned, vi kan påberope oss ved å passere Kalender.MÅNED som argument:

calendar.get (Calendar.MONTH);

Vær oppmerksom på at månedene i Kalender er nullindeksert; for januar vil denne metoden returnere 0.

2.3. Få dag

Til slutt, for å trekke ut dag, påkaller vi ved å passere Kalender.DAY_OF_MONTH som argument:

calendar.get (Calendar.DAY_OF_MONTH);

3. Bruke Java 8

Den nye java.time pakken inneholder en rekke klasser som kan brukes til å representere Dato.

Hver klasse er forskjellig fra tilleggsinformasjonen den lagrer i tillegg til Dato.

Det grunnleggende LocalDate inneholder bare datoinformasjonen, mens LocalDateTime inneholder dato samt tidsinformasjon.

Tilsvarende mer avanserte klasser som OffsetDateTime og ZonedDateTime inneholder tilleggsinformasjon om forskyvning fra UTC og informasjon om tidssone henholdsvis.

I alle fall støtter alle disse klassene direkte metoder for å trekke ut informasjon om år, måned og dato.

La oss utforske disse metodene for å hente ut informasjon fra en LocalDate forekomstnavn localDate.

3.1. Få år

Å ta ut År, LocalDate rett og slett gir et getYear metode:

localDate.getYear ();

3.2. Få måned

Tilsvarende å trekke ut Måned, vi bruker getMonthValue API:

localDate.getMonthValue ();

I motsetning til Kalender, Måneder i LocalDate er indeksert fra 1; for januar kommer dette tilbake 1.

3.3. Få dag

Til slutt, for å trekke ut Dag, vi har getDayOfMonth metode:

localDate.getDayOfMonth ();

4. Konklusjon

I denne raske opplæringen har vi undersøkt hvordan vi kan hente ut heltallverdier av År, Måned og Dag fra Dato i Java.

Vi har vist hvordan du trekker ut disse verdiene ved hjelp av de gamle Dato og Kalender klasser samt det nye datotidsbiblioteket til Java8.

Den komplette kildekoden for utdrag som brukes i denne opplæringen, er tilgjengelig på Github.


$config[zx-auto] not found$config[zx-overlay] not found