Java

Java datoformat

Java datoformat
Datoværdien skal formateres til forskellige programmeringsformål. En af de væsentligste grunde til at formatere datoen er at repræsentere datoværdien i et menneskeligt læsbart format. Der findes mange klasser i Java for at formatere datoværdien. DateTimeFormatter og SimpleDateFormat er to af dem. Disse klasser kan bruges til at formatere datoværdier på forskellige måder. Hvordan disse to klasser kan bruges til at formatere datoen i Java forklares i denne vejledning.

DateTimeFormatter:

Det introduceres i Java 8 for at formatere datoværdien. Det bruges til at formatere ZoneDateTime, LocalDateTime, LocalDate, og Lokal tid. DateTimeFormatter-objektet kan oprettes ved hjælp af et indbygget mønster, brugerdefineret mønster og lokaliseret stil. Nogle anvendelser af denne klasse vises i denne vejledning med flere eksempler.

SimpleDateFormat:

Det bruges til at formatere og parse datoværdier med lokal support. Konvertering af dato til streng og streng til dato kan gøres let ved hjælp af denne klasse. Det oprettes ved at udvide Datoformat klasse. Nogle anvendelser af denne klasse vises i denne vejledning med flere eksempler.

Eksempel 1: Formatér dato ved hjælp af DateTimeFormatter og indbygget mønster

Dato- og tidsformatet for DateTimeFormatter er fastsat til den indbyggede mønster. Dato og klokkeslæt værdi udskrives baseret på indbygget mønster brugt i koden. ISO_DATE mønster bruges i følgende kode, der udskriver datoen i formatet, åååå-mm-dd. Den aktuelle dato læses her ved hjælp af den navngivne metode nu() af LocalDate klasse, der returnerer den formaterede datoværdi i strengen.

importer java.tid.format.DateTimeFormatter;
importer java.tid.LocalDate;
offentlig klassedato2
offentlig statisk ugyldig hoved (String [] args)
// Opret DateTimeFormatter-objekt
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Opret strengobjekt for at læse den lokale dato
String DateObject = format_object.format (LocalDate.nu());
// Udskriv den aktuelle dato
System.ud.println ("I dag er" + DateObject);

Produktion:

Det følgende billede viser output fra ovenstående kode. Outputtet afhænger af den aktuelle systemdato.

Eksempel 2: Formatér dato ved hjælp af DateTimeFormatter og brugerdefineret mønster

Du kan udskrive datoværdien i et mere menneskeligt læsbart format ved hjælp af det brugerdefinerede mønster af DateTimeFormatter. Mønsteret, der anvendes i det følgende eksempel, udskriver den aktuelle hverdag med datoværdien. ofPattern () metode bruges her til at indstille mønsteret for datoværdien. I mønsteret, 'EEEE ' bruges til at udskrive ugedagen i fuld form, 'dd ' bruges til at udskrive dagen, 'MMMM'bruges til at udskrive månedens navn i fuld form og 'åååå' bruges til at udskrive de fire cifre år. Det nu() metode til LocalDateTime bruges her til at læse den aktuelle systemdato og -tid. Det format() metoden bruges til at returnere den formaterede datoværdi i streng baseret på mønsteret.

importer java.tid.format.DateTimeFormatter;
importer java.tid.LocalDateTime;
offentlig klassedato1
offentlig statisk ugyldig hoved (String [] args)
// Opret formateringsobjekt ved hjælp af ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, dd MMMM åååå.");
// Opret et lokalt dato-tidsobjekt
LocalDateTime dateTimeObj = LocalDateTime.nu();
// Få formateret streng
String stringDate = format_object.format (dateTimeObj);
// Udskriv den formaterede dato
System.ud.println ("I dag er" + stringDate);

Produktion:

Det følgende billede viser output fra ovenstående kode. Outputtet afhænger af den aktuelle systemdato.

Eksempel 3: Formater dato med SimpleTimeFormat og format () -metoden

Følgende eksempel viser brugen af ​​SimpleTimeFormat til at udskrive den formaterede dato og tidsværdi baseret på det anvendte mønster. Her bruges “dd MMMM åååå, EEEE, hh: mm a” som et mønster i koden. Betydningen af ​​hver del af mønsteret uden 'hh' og 'mm' forklares i det foregående eksempel. ''hh ' bruges her til at udskrive den aktuelle timeværdi, og 'mm'bruges til at udskrive den aktuelle minutværdi. Dato klasse bruges i koden til at læse den aktuelle systemdato og -tid. Det format() metoden bruges til at returnere de formaterede dato- og tidsværdier i streng baseret på det anvendte mønster.

importer java.tekst.SimpleDateFormat;
importer java.util.Dato;
offentlig klassedato3
offentlig statisk ugyldig hoved (String [] args)
// Indstil mønsteret
Strengmønster = "dd MMMM åååå, EEEE, tt: mm a";
// Opret SimpleDateFormat-objekt
SimpleDateFormat simpleDateFormat = ny SimpleDateFormat (mønster);
// Konverter dato til strengværdien
String dateVal = simpleDateFormat.format (ny dato ());
// Opdel datoværdien baseret på komma (,)
Streng [] today_arr = dateVal.dele(",");
// Udskriv det formaterede output
System.ud.println ("Dato -" + i dag_arr [0] + "\ nDag -" + i dag_arr [1] +
"\ nTid -" + i dag_arr [2]);

Produktion:

Det følgende billede viser output fra ovenstående kode. Outputtet afhænger af den aktuelle systemdato og -tid.

Eksempel 4: Formatér dato ved hjælp af SimpleTimeFormat og parse () -metoden

Følgende eksempel viser brugen af parse () metode til at læse den aktuelle dato eller en bestemt dato, der konverterer den formaterede strengværdi til en datoværdi. Her, den “Dd / MM / åååå” mønster bruges til at indstille den bestemte dato for parse () metode. Den aktuelle datoværdi læses af Dato klasse og returnerede værdien som en streng. Denne værdi konverteres igen til datoværdi ved hjælp af parse () metode. Dernæst indstilles en bestemt datoværdi som en streng i parse () -metoden i henhold til mønsteret. Værdien konverteres til en dato som før.

importer java.tekst.SimpleDateFormat;
importer java.util.Dato;
offentlig klassedato4
offentlig statisk ugyldig hoved (String [] args)
// Indstil mønsteret
Strengmønster = "dd / MM / åååå";
prøve
// Opret SimpleDateFormat-objekt
SimpleDateFormat format_object = ny SimpleDateFormat (mønster);
// Konverter den aktuelle dato til strengværdien
String dateVal = format_object.format (ny dato ());
// Konverter strengen til datoværdi
Dato dato1 = format_objekt.parse (dateVal);
// Udskriv datoværdien
System.ud.println ("Den aktuelle dato er" + dato1);
// Konverter den definerede datostreng til datoværdi
Dato dato2 = format_objekt.parse ("16/12/2020");
// Udskriv datoværdien
System.ud.println ("Den definerede dato er" + dato2);

fange (java.tekst.ParseException e)
// Udskriv fejlmeddelelse
System.fejle.println (e.getMessage ());


Produktion:

Følgende output vises efter kørsel af scriptet, og den første output afhænger af den aktuelle systemtid.

Konklusion:

Forskellige måder at formatere datoværdi vises i denne vejledning ved hjælp af forskellige Java-klasser. Selvstudiet fokuserer primært på formatering af datoværdier. Du kan også formatere tidsværdien efter de anvendte klasser. Jeg håber, datoformateringsopgaven i Java bliver lettere efter at have læst denne vejledning.

Gratis og open source-spilmotorer til udvikling af Linux-spil
Denne artikel dækker en liste over gratis og open source-spilmotorer, der kan bruges til at udvikle 2D- og 3D-spil på Linux. Der er mange sådanne spil...
Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...