Darbs ar datumiem Java 8

Satura rādītājs
Darbs ar datumiem vienmēr ir bijis pagrieziena punkts programmētāju karjerā. Daļēji tas ir tāpēc, ka iepriekšējās versijās Java tas bija nedaudz mulsinoši un nekonsekventi. Tomēr jaunajā versijā a API kas ļauj mums iegūt vislabāko no valodas, izmantojot skaidrākas un vieglāk lietojamas metodes.
Tas liek strādāt ar datuma un laika formāti iekšā Java neesi spīdzināšana. Lai to izdarītu, mums ir jāizpēta valodas sniegtās jaunās formas un iespējas, lai vienu no punktiem, kas rada vislielāko neskaidrību, pārvērstu par kaut ko tādu, ko mēs pareizi apgūstam.
Lai vienkāršotu darbu, izstrādes komanda Java ir nodrošinājis mums vairākas kopīgas metodes, kuras varam izmantot gan strādājot datumi, piemēram, kad mēs strādājam stundas. Tas samazina mācību centienus, jo abu veidu objektiem ir līdzīga uzvedība.
Zemāk mēs uzskaitīsim dažas no metodēm, kas visvairāk izceļas, kā arī nelielu skaidrojumu par to, kam mēs tās varam izmantot, un tādējādi mēs varam gūt vispārēju priekšstatu, kad vēlāk pāriesim uz praktisko daļu.
plkstŠī metode ļauj mums izveidot objekta, kas to izsauc, kombināciju ar citu objektu.
formātāTas ļauj mums izmantot dažus parametrus, lai rezultātā iegūtu datumu vai laiku ar noteiktu formātu, kas mums nepieciešams.
gūtTas ļauj mums iegūt mūsu norādīto elementu.
irTas ļauj mums pārbaudīt, vai objekts ir tāda veida, ar kuru veicam salīdzinājumu.
plusTas dod mums iespēju pievienot papildinājumu objektam, kas to izsauc, un atgriež tā kopiju ar jau pievienoto vērtību.
uzTas ļauj mums pārveidot no viena veida uz citu.
Tagad ar šīm zināšanām mēs varam pāriet uz citiem jautājumiem šajā pašā datumu un laiku tēmā Java.
Kā mēs esam izskaidrojuši veidlapas, kas tiek izmantotas Java Tagad tie ir mainījušies jaunajai versijai, tāpēc, lai atkārtotu mūsu sniegtos piemērus, mums ir nepieciešama valodas attīstības komplekta 8. versija, pretējā gadījumā mēs saņemsim šādu kļūdu:

Precizēts jautājums, turpmāk redzēsim, kas mums jādara, lai iegūtu informāciju pašreizējais datums un laiks Java.
Šim nolūkam mēs izveidosim klasi, kurā parādīsim šāda veida objektus LocalDate, Vietējais laiks Y LocalDateTime. Katrs no tiem mums attiecīgi piešķirs pašreizējo datumu, pašreizējo laiku un pašreizējo datumu un laiku.
Tas ir ļoti noderīgi tādos gadījumos kā sistēmas žurnāli, kur mums jāfiksē precīzs brīdis, kad tiek veikta darbība vai notiek notikums, kuru mēs esam ieinteresēti ierakstīt. Lai sasniegtu mērķi, mēs varam izveidot kodu, kas līdzīgs šim:
 importēt java.time. *; public class CurrentDate {public static void main (String [] args) {LocalDate currentDate = LocalDate.now (); System.out.println (currentDate); LocalTime currentTime = LocalTime.now (); System.out.println (currentTime); LocalDateTime now = LocalDateTime.now (); System.out.println (tagad); }} 

Kā redzam, viss, ko mēs darām, ir deklarēt iepriekš minēto veidu objektus un piešķirt tiem vērtību, kas tiek atgriezta ar metodi tagad (), kas ir tas, kurš patiešām ir atbildīgs par pašreizējā datuma un laika norādīšanu, tad mēs uztraucamies tikai par katra deklarētā objekta izdrukāšanu.
SvarīgsIr ļoti svarīgi iekļaut iepakojumu java.laiks pilnībā, lai mēs varētu piekļūt visām mūsu izmantotajām funkcijām, arī, ja mums ir šaubas oficiālajā dokumentācijā, mēs varam atrast sīkāku informāciju par tās iespējām.
Apskatīsim, kā izskatās mūsu programmas izpilde:

Vēl viens aspekts, kas mums vienmēr jāņem vērā, ir informācijas parādīšanas veids. Attiecībā uz datumiem mums ir daudz veidu, tomēr daži ir ērtāki nekā citi dažās situācijās. Lielāko daļu laika tas liek mums veikt papildu darbības, kas liek mums rakstīt papildu koda rindas Java 8 tas vairs nav tik sarežģīti.
Atkarībā no lietojumprogrammas, kuru izstrādājam, mēs vēlēsimies rādīt mēnesi pēc tā numura kalendārā vai pēc tā nosaukuma, taču nosaukums var būt pilnīgs vai saīsināts, kā arī diena vai gads, tas viss dod mums ļoti daudz iespēju, visas ir vienlīdz derīgas. Lai atrisinātu šo problēmu, mēs varam izmantot datuma formatētāju.
Lai formatētu datumus, mums ir daži aizstājējzīmes vai parametri, kas ļauj iegūt iepriekšējā punktā izskaidrotās vērtības. Apskatīsim, kuri ir vissvarīgākie.
  • Y, ļauj mums piekļūt gadam četru vai divu ciparu formātā (2014. vai 14.).
  • D, ļauj mums iegūt gada dienas numuru (225).
  • d, Pretēji iepriekšējam, tas atgriež attiecīgā mēneša dienas numuru (27).
  • L, palīdz mums iegūt gada mēnesi skaitliskā formā, M dod mums mēnesi tekstā.
  • H, dod mums laiku.
  • s, dod mums sekundes.
  • m, ļauj mums iegūt protokolu.
  • uz, norāda mums stundu vai pēcpusdienu.
  • z, ļauj mums piekļūt laika joslas nosaukumam.
Tā kā mēs zinām formāta pamatparametrus, mēs izmēģināsim jaunu uzdevumu, ar šādu kodu mēs veiksim dažus formātus, pirmkārt, mēs iegūsim pašreizējo datumu un konvertēsim to formātā gada mēneša diena ar slīpsvītrām, nevis defisēm, tad mēs analizēsim statisku datumu, kas nāk no tāda paša formāta virknes, un visbeidzot, mēs parādīsim pilnu datumu, ieskaitot to, vai tas ir pēcpusdienā vai pēcpusdienā, lai izmantotu aizstājējzīmes ir paskaidrojuši iepriekš. Apskatīsim atbilstošo kodu:
 importēt java.time. *; importēt java.time.format. *; public class DateFormatter {public static void main (String [] args) {DateTimeFormatter formatēts datums = DateTimeFormatter.ofPattern ("gggg / LL / dd"); System.out.println (FormattedDate.format (LocalDate.now ()))); System.out.println (LocalDate.parse ("2014/11/15", formatēts datums)); DateTimeFormatter timezone = DateTimeFormatter.ofPattern ("d MMMM, gggg h: mm a"); System.out.println (ZonedDateTime.now (). Formāts (laika josla)); }} 

Pirmā lieta, ko mēs varam uzsvērt, ir tā, ka mums ir jāimportē abi iepakojumi java.laiks ar visām tās klasēm kā iepakojums java.time.format arī ar visām viņa klasēm. Vingrinājumu ir iespējams veikt, importējot konkrētās nodarbības, bet mēs to atstājam kā mājasdarbu, arī tāpēc viņiem ir uzdevums redzēt oficiālo dokumentāciju.
Tad mēs redzam, ka mēs izveidojam šāda veida objektu DateTimeFormatter un mēs izmantojam metodi ofPattern () kas pieņem norādītās aizstājējzīmes, mēs redzam, ka aizstājējzīmes ievietojam divos eksemplāros kā yyyy lai iegūtu kārtējā gada četrus ciparus vai arī mm, lai iegūtu divu minūšu ciparus.
Visbeidzot, mēs izdrukājam katru datumu ar to formātu un, izpildot mūsu programmu, iegūstam sekojošo:

Šeit mēs varam novērot visas izmaiņas, ko esam veikuši datumu formatēšanas veidā, tādējādi mēs varam piešķirt tai lielāku nozīmi un lasāmību gan cilvēku līmenī, gan Datu bāze Kas MySQL noklusējuma datums jāsaņem formātā gggg-LL-dd.
Vēl viens lietojums, ko mēs varam piešķirt jaunajām datuma un laika klasēm Java ir iespēja izmantot datumus, kas nāk no teksta virknes, tos var izveidot lietotājs, tie ir no teksta faila utt. Bet svarīgi ir tas, ka mums ir jāmēģina ar tiem manipulēt, un šim nolūkam mēs varam izmantot visus pieejamos rīkus.
Tālāk redzēsim, kā, izmantojot redzēto, mēs varam mainīt datumu no teksta virknes.
 importēt java.time. *; importēt java.time.format. *; public class StaticDate {public static void main (String [] args) {String StartDate = "1906-12-31"; LocalDate takenDate = LocalDate.parse (startDate); System.out.println ("Datums:" + uzņemšanas datums); String dateStartTime = "1906-12-31T12: 05"; LocalDateTime TakenDateTime = LocalDateTime.parse (TimeInitialDate); System.out.println ("Datums / laiks:" + dateTakTime); DateTimeFormatter df = DateTimeFormatter.ofPattern ("dd MMM uuuu"); System.out.println (TakenDate + "Ar jaunu formātu:" + df.format (TakenDate)); }} 

Kodā mēs redzam, kā mēs izveidojam sākuma datumu teksta virknē, pēc tam ar šāda veida objektu LocalDate mēs izmantojam metodi Parsēt lai iekļautu teksta virkni datuma tipa objektā, tad mēs drukājam objektu un redzam, ka, ja datums ir pareizi ņemts, mēs atkārtojam to pašu procedūru, bet ar datumu un laiku, izmantojot LocalDateTime.
Visbeidzot, mēs uzņemam savu pirmo izveidoto objektu un tam piemērojam jaunu formātu, tādējādi apstiprinot, ka esam spējuši ievadīt un manipulēt ar datumu, ko izveidojām no teksta virknes. Apskatīsim, kā tas izskatās, palaižot mūsu programmu:

Ar to mēs pabeidzam šo apmācību, mēs esam iemācījušies strādāt ar datumiem Java izmantojot uzlabojumus klasēs, kuras ietver jaunā versija, kas ir Java 8To var izmantot daudzām lietojumprogrammām sistēmas līmenī un pat lietotāja saskarnēm.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave