Arbeta med datum i Java 8

Innehållsförteckning
Att arbeta med datum har alltid varit en vändpunkt i programmerarnas karriär. Detta beror delvis på att i tidigare versioner av Java det var lite förvirrande och inkonsekvent. Men i den nya versionen a API som gör att vi kan få ut det mesta av språket med tydligare och lättanvända metoder.
Detta gör att arbeta med datum- och tidsformat i Java var inte tortyr. För detta måste vi studera de nya formerna och möjligheterna som språket ger oss, i syfte att förvandla en av de punkter som skapar mest förvirring, till något som vi behärskar ordentligt.
För att förenkla arbetet, utvecklingsteamet av Java har gett oss ett antal vanliga metoder som vi kan använda, både när vi arbetar med datum, som när vi jobbar med timmar. Detta gör inlärningsarbetet mindre på grund av att de har ett liknande beteende för båda typerna av objekt.
Vi kommer att lista nedan några av de metoder som sticker ut mest tillsammans med en liten förklaring till vad vi kan använda dem till, med detta kan vi ha en allmän uppfattning när vi går till den praktiska delen senare.
påDenna metod låter oss göra en kombination av objektet som åberopar det med ett annat objekt.
formateraDet tillåter oss att använda vissa parametrar för att som ett resultat producera ett datum eller en tid med ett specifikt format som vi behöver.
skaffa sigDet gör att vi kan få ett element som vi specificerar.
ärDet tillåter oss att validera om ett objekt är av den typ som vi gör jämförelsen med.
plusDet ger oss möjlighet att lägga till ett tillägg till objektet som åberopar det och returnerar en kopia av det med värdet som redan har lagts till.
tillDet gör att vi kan göra en konvertering från en typ till en annan.
Nu med denna kunskap kan vi gå vidare till andra frågor inom samma ämne av datum och tider Java.
Som vi har förklarat de former som används i Java Nu har de ändrats för den nya versionen, det är därför vi ska upprepa exemplen som vi kommer att behöva version 8 av språkutvecklingssatsen, annars får vi ett fel som följande:

Förtydligade poängen, låt oss se nedan vad vi måste göra för att få information om aktuellt datum och tid i Java.
För detta kommer vi att skapa en klass där vi kommer att instansera objekt av den typen LocalDate, Lokal tid Y LocalDateTime. Var och en av dem ger oss aktuellt datum, aktuell tid och aktuellt datum och tid.
Detta är ganska användbart i fall som systemloggar, där vi måste fånga det exakta ögonblicket då en åtgärd vidtas eller en händelse inträffar som vi är intresserade av att spela in. För att uppnå målet kan vi skapa en kod som liknar följande:
 importera 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 nu = LocalDateTime.now (); System.out.println (nu); }} 

Som vi kan se är allt vi gör att deklarera våra objekt av de ovannämnda typerna och tilldela dem det värde som returneras med metoden nu (), som är den som verkligen ansvarar för att ange aktuellt datum och tid, då oroar vi oss bara för att skriva ut vart och ett av de deklarerade objekten.
ViktigDet är mycket viktigt att inkludera paketet java.tid i sin helhet så att vi kan komma åt alla funktioner som vi använder, även om vi tvivlar i den officiella dokumentationen kan vi hitta mer detaljer om alternativen för samma.
Låt oss se hur genomförandet av vårt program ser ut:

En annan aspekt som vi alltid måste ta hänsyn till är sättet att visa informationen. När det gäller datum har vi många sätt, men vissa är bekvämare än andra i vissa situationer. Detta leder oftast till att vi utför ytterligare operationer som får oss att skriva ytterligare kodrader, som i Java 8 det är inte längre så komplext.
Beroende på vilken applikation vi utvecklar kommer vi att vilja visa månaden med dess nummer i kalendern eller med dess namn, men namnet kan vara fullständigt eller förkortat samt dagen eller året, allt detta ger oss en mycket stort antal alternativ, alla lika giltiga. För att lösa detta problem kan vi använda datumformateraren.
För att formatera datumen har vi några jokertecken eller parametrar som gör att vi kan få de värden som förklaras i föregående stycke. Låt oss se vilka som är de viktigaste.
  • Y, låter oss komma åt året i fyr- eller tvåsiffrigt format (2014 eller 14).
  • D, tillåter oss att få numret på dagen på året (225).
  • d, I motsats till föregående returnerar det numret på dagen i månaden i fråga (27).
  • L, hjälper oss att få årets månad i numerisk form, M ger oss månaden i text.
  • H, ger oss tid.
  • s, ger oss sekunderna.
  • m, låter oss få protokollet.
  • till, ger oss am eller pm i timmen.
  • z, tillåter oss att komma åt namnet på tidszonen.
Eftersom vi känner till de grundläggande formatparametrarna kommer vi att prova en ny övning, i följande kod kommer vi att göra några format, först och främst kommer vi att få det aktuella datumet och vi kommer att konvertera det till formatet år månad dag med snedstreck istället för bindestreck, kommer vi att analysera ett statiskt datum som kommer från en sträng med samma format och slutligen kommer vi att visa ett fullständigt datum inklusive om det är am eller pm, för att använda jokertecken som vi har förklarat tidigare. Låt oss se motsvarande kod:
 importera java.time. *; importera java.time.format. *; public class DateFormatter {public static void main (String [] args) {DateTimeFormatter formatted date = DateTimeFormatter.ofPattern ("åååå / LL / dd"); System.out.println (FormattedDate.format (LocalDate.now ())); System.out.println (LocalDate.parse ("2014/11/15", formaterat datum)); DateTimeFormatter tidszon = DateTimeFormatter.ofPattern ("d MMMM, åååå h: mm a"); System.out.println (ZonedDateTime.now (). Format (tidszon)); }} 

Det första vi kan lyfta fram är att vi måste importera båda paketen java.tid med alla dess klasser som paketet java.time.format med alla hans klasser också. Det är möjligt att göra övningen genom att importera de specifika klasserna, men vi lämnar det som läxor, också så att de har en uppgif.webpt att se den officiella dokumentationen.
Sedan ser vi att vi skapar ett objekt av typen DateTimeFormatter och vi använder metoden ofPattern () som accepterar de angivna jokertecknen ser vi att vi placerar jokertecken i duplikat som åååå för att få de fyra siffrorna för det aktuella året eller även mm för att få de två siffrorna i protokollet.
Slutligen skriver vi ut alla datum med deras format och vi får följande när vi kör vårt program:

Det är här vi kan observera alla förändringar vi har gjort i sättet att formatera datumen, med detta kan vi ge det större mening och läsbarhet både på mänsklig nivå och för motorer i Databas Vad MySQL du måste få standarddatumet i format åååå-LL-dd.
En annan användning som vi kan ge till de nya datum- och tidsklasserna för Java är att kunna använda datum som kommer från en textsträng, dessa kan skapas av en användare, komma från en textfil etc. Men det viktiga är att vi måste manipulera dem och för detta kan vi använda alla verktyg vi har till hands.
Låt oss se i följande kod hur vi med hjälp av det vi har sett kan göra ändringar i ett datum från en textsträng.
 importera java.time. *; importera 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 ("Datum:" + TakenDate); String dateStartTime = "1906-12-31T12: 05"; LocalDateTime TakenDateTime = LocalDateTime.parse (TimeInitialDate); System.out.println ("Datum / tid:" + dateTakTime); DateTimeFormatter df = DateTimeFormatter.ofPattern ("dd MMM uuuu"); System.out.println (TakenDate + "Med nytt format:" + df.format (TakenDate)); }} 

I koden ser vi hur vi skapar ett startdatum i en textsträng, sedan med ett objekt av typen LocalDate vi använder metoden Analysera för att införliva textsträngen i ett datumtypsobjekt, sedan skriver vi ut objektet och ser att om det tog datumet korrekt upprepar vi samma procedur men använder datum och tid med LocalDateTime.
Slutligen tar vi vårt första skapade objekt och tillämpar ett nytt format på det och bekräftar därmed att vi har kunnat ange och manipulera ett datum som vi fastställde från en textsträng. Låt oss se hur det ser ut när vi kör vårt program:

Med detta avslutar vi denna handledning, vi har lärt oss att arbeta med datum i Java med hjälp av förbättringarna i de klasser som den nya versionen innehåller, vilket är Java 8Detta kan användas för många applikationer på systemnivå och till och med för användargränssnitt.Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave