Uddrag år, måned og dag fra dato i Java

1. Oversigt

I denne korte vejledning ser vi på, hvordan man udpakker år, måned og dag fra en given Dato i Java.

Vi ser på, hvordan man udvinder disse værdier ved hjælp af arven java.util.Date klasse og også ved hjælp af det nye datotidsbibliotek i Java 8.

I Java 8 blev der introduceret et helt nyt dato- og tidsbibliotek af en række gode grunde. Udover andre fordele, det nye bibliotek giver en bedre API til operationer såsom udpakning År, Måned, Dag osv. fra givet Dato.

Og hvis du leder efter en mere detaljeret artikel om det nye dato-tidsbibliotek, skal du kigge her.

2. Brug af Java 7

For en given java.util.Date for at udtrække individuelle felter som f.eks År, Måned, Dag osv. det første skridt, vi skal gøre, er at konvertere det til Kalender eksempel:

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

Når vi har en Kalender For eksempel kan vi direkte påberåbe sig dets metode og give det specifikke felt, som vi vil udtrække.

Vi kan bruge konstanter til stede i Kalender for at udtrække bestemte felter.

2.1. Få år

At udtrække år, vi kan påberåbe os ved at passere Kalender år som argument:

calendar.get (Calendar.YEAR);

2.2. Få måned

Tilsvarende for at udtrække måned, vi kan påberåbe os ved at passere Kalender.MÅNED som argument:

calendar.get (Calendar.MONTH);

Bemærk venligst, at måneder ind Kalender er nulindekseret for januar vil denne metode returnere 0.

2.3. Få dag

Endelig for at udtrække dag, vi påberåber os ved at passere Kalender.DAY_OF_MONTH som argument:

calendar.get (Calendar.DAY_OF_MONTH);

3. Brug af Java 8

Den nye java.tid pakken indeholder et antal klasser, der kan bruges til at repræsentere Dato.

Hver klasse adskiller sig fra de yderligere oplysninger, den gemmer ud over Dato.

Det basale LocalDate indeholder bare datooplysningerne, mens LocalDateTime indeholder dato samt tidsinformation.

Tilsvarende mere avancerede klasser såsom OffsetDateTime og ZonedDateTime indeholder yderligere oplysninger om offset fra UTC og information om tidszone henholdsvis.

Under alle omstændigheder understøtter alle disse klasser direkte metoder til at udtrække oplysninger om år, måned og dato.

Lad os udforske disse metoder til at udtrække information fra en LocalDate forekomst navn localDate.

3.1. Få år

At udtrække År, LocalDate giver simpelthen et getYear metode:

localDate.getYear ();

3.2. Få måned

Tilsvarende at udtrække Måned, vi bruger getMonthValue API:

localDate.getMonthValue ();

I modsætning til Kalender, Måneder inde LocalDate er indekseret fra 1; for januar vender dette tilbage 1.

3.3. Få dag

Endelig at udtrække Dag, vi har getDayOfMonth metode:

localDate.getDayOfMonth ();

4. Konklusion

I denne hurtige vejledning har vi undersøgt, hvordan man udtrækker heltalsværdier af År, Måned og Dag fra Dato i Java.

Vi har vist, hvordan man udtrækker disse værdier ved hjælp af det gamle Dato og Kalender klasser samt det nye dato-tidsbibliotek af Java8.

Den komplette kildekode til uddrag, der bruges i denne vejledning, er tilgængelig på Github.


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