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.