Paketuose java.time, java.util, java.sql ir java.text yra datos ir laiko vaizdavimo klasės. Šios klasės yra svarbios tvarkant datą Java.
Java 8 datos / laiko API
„Java“ pristatė naują datos ir laiko API nuo „Java 8“. Java.time pakete yra Java 8 datos ir laiko klasės.
- java.time.LocalDate klasė
- java.time.LocalTime klasė
- java.time.LocalDateTime klasė
- java.time.MonthDay klasė
- java.time.OffsetTime klasė
- java.time.OffsetDateTime klasė
- java.time.Laikrodžio klasė
- java.time.ZonedDateTime klasė
- java.time.ZoneId klasė
- java.time.ZoneOffset klasė
- java.time.Metų klasė
- java.time.YearMonth klasė
- java.time.Periodų klasė
- java.time.Trukmės klasė
- java.time.Momentinė klasė
- java.time.DayOfWeek enum
- java.time.Month enum
Klasikinė datos / laiko API
Tačiau naudinga ir klasikinė arba sena „Java Date“ API. Pažiūrėkime klasikinių datos ir laiko klasių sąrašą.
- java.util.Datos klasė
- java.sql.Datos klasė
- java.util.Kalendoriaus klasė
- java.util.GregorianCalendar klasė
- java.util.TimeZone klasė
- java.sql.Laiko klasė
- java.sql.Timestamp klasė
Datos ir laiko formatavimas
Datą ir laiką galime formatuoti Java naudodami šias klases:
Java datos ir laiko API
„Java“ teikia datos ir laiko funkcijas naudojant du paketus java.time ir java.util. Paketas java.time įdiegtas Java 8 versijoje, o naujai įvestos klasės bando įveikti senųjų java.util.Date ir java.util.Calendar klasių trūkumus.
Klasikinės datos laiko API klasės
Pradinės klasės prieš „Java 8“ išleidimą buvo šios:
centos vs redhat
Java.lang.System: Klasė pateikia currentTimeMillis() metodą, kuris grąžina dabartinį laiką milisekundėmis. Rodo dabartinę datą ir laiką milisekundėmis nuo 1970 m. sausio 1 d.
java.util.Data: Jis naudojamas konkrečiam laiko momentui parodyti milisekundės vienetu.
java.util.Calendar: Tai abstrakčioji klasė, teikianti metodus konvertuoti tarp egzempliorių ir įvairiais būdais manipuliuoti kalendoriaus laukais.
java.text.SimpleDateFormat: Tai klasė, kuri naudojama formatuoti ir analizuoti datas iš anksto nustatytu būdu arba vartotojo apibrėžtu šablonu.
java.util.TimeZone: Tai rodo laiko juostos poslinkį ir taip pat apskaičiuoja vasaros laiką.
Esamos datos / laiko API trūkumai
Nauja datos laiko API Java 8
Naujoji datos API padeda įveikti anksčiau minėtus senųjų klasių trūkumus. Tai apima šias klases:
java.time.LocalDate: ISO kalendoriuje jis reiškia metus-mėnesį-dieną ir yra naudingas datos be laiko atvaizdavimui. Jis gali būti naudojamas pateikti tik datos informaciją, tokią kaip gimimo data arba vestuvių data.
java.time.LocalTime: Jis prekiauja tik laiku. Tai naudinga vaizduojant žmogaus paros laiką, pvz., filmų laiką arba vietinės bibliotekos atidarymo ir uždarymo laikus.
java.time.LocalDateTime: Jis tvarko ir datą, ir laiką, be laiko juostos. Tai yra LocalDate ir LocalTime derinys.
java.time.ZonedDateTime: Jis sujungia LocalDateTime klasę su zonos informacija, pateikta ZoneId klasėje. Tai rodo visą datos laiko žymą kartu su laiko juostos informacija.
java.time.OffsetTime: Jis apdoroja laiką su atitinkamu laiko juostos poslinkiu nuo Grinvičo / UTC, be laiko juostos ID.
java.time.OffsetDateTime: Ji tvarko datą ir laiką su atitinkama laiko juostos poslinkiu nuo Grinvičo/UTC, be laiko juostos ID.
java.time.Clock : Tai suteikia prieigą prie dabartinės akimirkos, datos ir laiko bet kurioje laiko juostoje. Nors Clock klasės naudojimas yra neprivalomas, ši funkcija leidžia mums patikrinti jūsų kodą kitose laiko juostose arba naudojant fiksuotą laikrodį, kai laikas nesikeičia.
java.time.Instant : Tai rodo nanosekundės pradžią laiko juostoje (nuo EPOCH) ir naudinga generuojant laiko žymą, vaizduojančią mašinos laiką. Akimirka, įvykusi prieš epochą, turi neigiamą reikšmę, o akimirka, kuri įvyksta po epochos, turi teigiamą reikšmę.
java.time.Duration : Skirtumas tarp dviejų momentų ir matuojamas sekundėmis arba nanosekundėmis ir nenaudoja data pagrįstų konstrukcijų, tokių kaip metai, mėnesiai ir dienos, nors klasėje pateikiami metodai, kurie konvertuoja į dienas, valandas ir minutes.
java.time.Period : Jis naudojamas apibrėžti skirtumą tarp datų pagal datas pagrįstose reikšmėse (metai, mėnesiai, dienos).
java.time.ZoneId : Jame nurodomas laiko juostos identifikatorius ir pateikiamos taisyklės, kaip konvertuoti momentinį momentą į LocalDateTime.
java.time.ZoneOffset : Jame aprašomas laiko juostos poslinkis nuo Grinvičo/UTC laiko.
java.time.format.DateTimeFormatter : Jis pateikiamas naudojant įvairius iš anksto nustatytus formatuotojus arba galime apibrėžti savo. Jis turi parse () arba format () metodą, skirtą datos ir laiko reikšmėms analizuoti ir formatuoti.