Extrakcia roku, mesiaca a dňa od dátumu v Jave
1. Prehľad
V tomto krátkom tutoriáli sa pozrieme na to, ako extrahovať rok, mesiac a deň z daného Dátum v Jave.
Pozrime sa na to, ako tieto hodnoty extrahovať pomocou pôvodného odkazu java.util.Date triedy a tiež pomocou novej knižnice dátumu a času v Java 8.
V prostredí Java 8 bola z mnohých dobrých dôvodov zavedená úplne nová knižnica dátumu a času. Okrem iných výhod nová knižnica poskytuje lepšie API pre operácie, ako je napríklad extrakcia Rok, Mesiac, Deň atď. od daných Dátum.
A ak hľadáte podrobnejší článok o novej knižnici dátumu a času, pozrite sa sem.
2. Používanie Java 7
Za dané java.util.Date extrahovať jednotlivé polia ako napr Rok, Mesiac, Deň Prvý krok, ktorý musíme urobiť, je previesť ho na Kalendár inštancia:
Dátum dátum = // inštancia dátumu Calendar calendar = Calendar.getInstance (); calendar.setTime (dátum);
Keď už máme Kalendár inštanciu môžeme priamo vyvolať dostať metódou a zadajte konkrétne pole, ktoré chceme extrahovať.
Môžeme použiť konštanty prítomné v Kalendár extrahovať konkrétne polia.
2.1. Získajte rok
Ak chcete extrahovať rok, môžeme sa dovolať dostať prechodom Kalendárny rok ako argument:
calendar.get (Calendar.YEAR);
2.2. Získajte mesiac
Podobne na extrakciu mesiac, môžeme sa dovolať dostať prechodom Kalendár. MESIAC ako argument:
calendar.get (Calendar.MONTH);
Upozorňujeme, že mesiace v Kalendár majú nulový index; pre január táto metóda vráti 0.
2.3. Získajte deň
Nakoniec extrahujte deň, vzývame dostať prechodom Kalendár.DAY_OF_MONTH ako argument:
calendar.get (Calendar.DAY_OF_MONTH);
3. Používanie Java 8
Nové java.time balíček obsahuje niekoľko tried, ktoré je možné použiť na reprezentáciu Dátum.
Každá trieda sa líši o ďalšie informácie, ktoré ukladá Dátum.
Základ LocalDate iba obsahuje informácie o dátume, zatiaľ čo LocalDateTime obsahuje dátum a čas.
Podobne aj pokročilejšie triedy ako napr OffsetDateTime a ZonedDateTime obsahuje ďalšie informácie o offsetu od UTC a informácie o časové pásmo resp.
V každom prípade všetky tieto triedy podporujú priame metódy na získanie informácií o roku, mesiaci a dátume.
Poďme preskúmať tieto metódy na získanie informácií z a LocalDate názov inštancie localDate.
3.1. Získajte rok
Extrahovať Rok, LocalDate jednoducho poskytuje getYear metóda:
localDate.getYear ();
3.2. Získajte mesiac
Podobne vyťažiť Mesiac, používame getMonthValue API:
localDate.getMonthValue ();
Na rozdiel od Kalendár, Mesiace v LocalDate sú indexované od 1; za január sa to vráti 1.
3.3. Získajte deň
Nakoniec extrahovať Deň, máme getDayOfMonth metóda:
localDate.getDayOfMonth ();
4. Záver
V tomto rýchlom výučbe sme preskúmali, ako extrahovať celočíselné hodnoty Rok, Mesiac a Deň od Dátum v Jave.
Ukázali sme, ako tieto hodnoty extrahovať pomocou starého Dátum a Kalendár triedy, ako aj nová knižnica času a času Java8.
Kompletný zdrojový kód úryvkov použitý v tejto príručke je k dispozícii na stránkach Github.