Izdvajanje godine, mjeseca i dana iz datuma na Javi

1. Pregled

U ovom kratkom vodiču pogledati ćemo kako izvaditi godina, mjesec i dan od datog Datum na Javi.

Razmatrat ćemo kako izvući ove vrijednosti pomoću naslijeđa java.util.Datum klase i također pomoću nove knjižnice datuma i vremena Java 8.

U Javi 8 predstavljena je posve nova knjižnica datuma i vremena iz više dobrih razloga. Uz ostale prednosti, nova knjižnica nudi bolji API za operacije poput ekstrakcije Godina, Mjesec, Dan itd. od datog Datum.

Ako tražite detaljniji članak o novoj knjižnici datuma i vremena, pogledajte ovdje.

2. Korištenje Jave 7

Za dato java.util.Datum za izdvajanje pojedinih polja kao što su Godina, Mjesec, Dan itd. prvi korak koji moramo učiniti je pretvoriti ga u Kalendar primjer:

Datum datum = // instanca datuma Kalendar kalendar = Calendar.getInstance (); calendar.setTime (datum);

Jednom kad imamo Kalendar primjerice, možemo se izravno pozvati na njegov dobiti metodu i pružite određeno polje koje želimo izdvojiti.

Možemo koristiti konstante prisutne u Kalendar za izdvajanje određenih polja.

2.1. Nabavite godinu

Za izdvajanje godina, možemo se pozivati dobiti mimoilaženjem Kalendarska godina kao argument:

calendar.get (Calendar.YEAR);

2.2. Nabavite mjesec

Slično izdvajanju datoteke mjesec, možemo se pozivati dobiti mimoilaženjem Kalendar.MJESEC kao argument:

calendar.get (Calendar.MONTH);

Imajte na umu da su mjeseci u Kalendar nula su indeksirane; za siječanj će ova metoda vratiti 0.

2.3. Dobi dan

Konačno, za izdvajanje dan, prizivamo dobiti mimoilaženjem Kalendar.DAY_OF_MONTH kao argument:

calendar.get (Calendar.DAY_OF_MONTH);

3. Korištenje Jave 8

Novi java.vrijeme paket sadrži niz klasa koje se mogu koristiti za predstavljanje Datum.

Svaka se klasa razlikuje po dodatnim informacijama koje pohranjuje uz Datum.

Osnovni LocalDate sadrži samo podatke o datumu, dok LocalDateTime sadrži podatke o datumu i vremenu.

Slično tome, napredniji razredi poput OffsetDateTime i ZonedDateTime sadrži dodatne informacije o pomaku od UTC i informacije o Vremenska zona odnosno.

U svakom slučaju, sve ove klase podržavaju izravne metode za izdvajanje podataka o godini, mjesecu i datumu.

Istražimo ove metode iz kojih ćemo izvući podatke lokalni datum naziv instance localDate.

3.1. Nabavite godinu

Izdvojiti Godina, LocalDate jednostavno pruža godine metoda:

localDate.getYear ();

3.2. Nabavite mjesec

Slično tome, za izdvajanje Mjesec, koristimo getMonthValue API:

localDate.getMonthValue ();

Za razliku od Kalendar, Mjeseci u LocalDate indeksiraju se od 1; za siječanj će se vratiti 1.

3.3. Dobi dan

Konačno, izvući Dan, imamo getDayOfMonth metoda:

localDate.getDayOfMonth ();

4. Zaključak

U ovom smo brzom vodiču istražili kako izvući cijele vrijednosti od Godina, Mjesec i Dan iz Datum na Javi.

Pokazali smo kako izvući ove vrijednosti pomoću stare Datum i Kalendar klase kao i nova knjižnica datuma i vremena Java8.

Kompletni izvorni kod za isječke korišten u ovom vodiču dostupan je na Githubu.