Java

Java datoformat

Java datoformat
Datoverdien må formateres for forskjellige programmeringsformål. En av de viktigste grunnene til å formatere datoen er å representere datoverdien i et lesbart format. Mange klasser finnes i Java for å formatere datoverdien. DateTimeFormatter og SimpleDateFormat er to av dem. Disse klassene kan brukes til å formatere datoverdier på forskjellige måter. Hvordan disse to klassene kan brukes til å formatere datoen i Java er forklart i denne veiledningen.

DateTimeFormatter:

Den introduseres i Java 8 for å formatere datoverdien. Den brukes til å formatere ZoneDateTime, LocalDateTime, LocalDate, og Lokal tid. DateTimeFormatter-objektet kan opprettes ved hjelp av et innebygd mønster, tilpasset mønster og lokalisert stil. Noen bruksområder for denne klassen vises i denne opplæringen med flere eksempler.

SimpleDateFormat:

Den brukes til å formatere og analysere datoverdier med lokal støtte. Konvertering av dato til streng og streng til dato kan gjøres enkelt ved å bruke denne klassen. Den er opprettet ved å utvide DateFormat klasse. Noen bruksområder for denne klassen vises i denne opplæringen med flere eksempler.

Eksempel 1: Formater dato med DateTimeFormatter og innebygd mønster

Dato- og tidsformatet for DateTimeFormatter er fastsatt for den innebygde mønster. Dato- og klokkeslettverdien blir skrevet ut basert på innebygd mønster som brukes i koden. ISO_DATE mønster brukes i følgende kode som skriver ut datoen i formatet, åååå-mm-dd. Gjeldende dato leses her ved hjelp av metoden som heter nå() av LocalDate klasse som returnerer den formaterte datoverdien i strengen.

importere java.tid.format.DateTimeFormatter;
importere java.tid.LocalDate;
offentlig klassedato2
public static void main (String [] args)
// Opprett DateTimeFormatter-objekt
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Opprett strengobjekt for å lese den lokale datoen
String DateObject = format_object.format (LocalDate.nå());
// Skriv ut gjeldende dato
System.ute.println ("I dag er" + DateObject);

Produksjon:

Følgende bilde viser utdataene fra koden ovenfor. Produksjonen vil avhenge av gjeldende systemdato.

Eksempel 2: Formater dato med DateTimeFormatter og tilpasset mønster

Du kan skrive ut datoverdien i et mer lesbart format ved å bruke det egendefinerte mønsteret til DateTimeFormatter. Mønsteret som brukes i det følgende eksemplet vil skrive ut den aktuelle ukedagen med datoverdien. ofPattern () metoden brukes her for å sette mønsteret for datoverdien. I mønsteret, 'EEEE ' brukes til å skrive ut ukedagen i full form, 'dd ' brukes til å skrive ut dagen, 'MMMM'brukes til å skrive ut månedens navn i full form og 'åååå' brukes til å skrive ut de fire sifrene året. De nå() Metode av LocalDateTime brukes her for å lese gjeldende systemdato og -tid. De format() metoden brukes til å returnere den formaterte datoverdien i streng basert på mønsteret.

importere java.tid.format.DateTimeFormatter;
importere java.tid.LocalDateTime;
offentlig klassedato1
public static void main (String [] args)
// Opprett formateringsobjekt ved hjelp av ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, dd MMMM åååå.");
// Opprett et lokalt objekt for dato og klokkeslett
LocalDateTime dateTimeObj = LocalDateTime.nå();
// Få formatert streng
String stringDate = format_object.format (dateTimeObj);
// Skriv ut den formaterte datoen
System.ute.println ("I dag er" + stringDate);

Produksjon:

Følgende bilde viser utdataene fra koden ovenfor. Produksjonen vil avhenge av gjeldende systemdato.

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

Følgende eksempel viser bruken av SimpleTimeFormat for å skrive ut den formaterte dato- og tidsverdien basert på det brukte mønsteret. Her brukes “dd MMMM åååå, EEEE, hh: mm a” som et mønster i koden. Betydningen av hver del av mønsteret uten 'hh' og 'mm' er forklart i forrige eksempel. 'hh ' brukes her for å skrive ut gjeldende timesverdi, og 'mm'brukes til å skrive ut gjeldende minuttverdi. Dato klasse brukes i koden for å lese gjeldende systemdato og -tid. De format() metoden brukes til å returnere de formaterte dato- og tidsverdiene i streng basert på det brukte mønsteret.

importere java.tekst.SimpleDateFormat;
importere java.util.Dato;
offentlig klassedato3
public static void main (String [] args)
// Sett mønsteret
Strengmønster = "dd MMMM åååå, EEEE, tt: mm a";
// Opprett SimpleDateFormat-objekt
SimpleDateFormat simpleDateFormat = ny SimpleDateFormat (mønster);
// Konverter dato til strengverdien
String dateVal = simpleDateFormat.format (ny dato ());
// Del datoverdien basert på komma (,)
Streng [] today_arr = dateVal.dele(",");
// Skriv ut formatert utdata
System.ute.println ("Dato -" + i dag_arr [0] + "\ nDag -" + i dag_arr [1] +
"\ nTid -" + i dag_arr [2]);

Produksjon:

Følgende bilde viser utdataene fra koden ovenfor. Produksjonen vil avhenge av gjeldende systemdato og -tid.

Eksempel 4: Formater dato med SimpleTimeFormat og parse () -metoden

Følgende eksempel viser bruken av analysen () metode for å lese gjeldende dato eller en bestemt dato som konverterer den formaterte strengverdien til en datoverdi. Her, den “Dd / MM / åååå” mønster brukes til å angi en bestemt dato for analysere () metode. Gjeldende datoverdi blir lest av Dato klasse og returnerte verdien som en streng. Denne verdien konverteres igjen til datoverdi ved hjelp av analysere () metode. Deretter blir en bestemt datoverdi satt som en streng i metoden parse () i henhold til mønsteret. Verdien konverteres til en dato som før.

importere java.tekst.SimpleDateFormat;
importere java.util.Dato;
offentlig klassedato4
public static void main (String [] args)
// Sett mønsteret
Strengmønster = "dd / MM / åååå";
prøv
// Opprett SimpleDateFormat-objekt
SimpleDateFormat format_object = ny SimpleDateFormat (mønster);
// Konverter nåværende dato til strengverdien
String dateVal = format_object.format (ny dato ());
// Konverter strengen til datoverdi
Dato dato1 = format_objekt.parse (dateVal);
// Skriv ut datoverdien
System.ute.println ("Den nåværende datoen er" + dato1);
// Konverter den definerte datostrengen til datoverdien
Dato dato2 = format_objekt.analysere ("16/12/2020");
// Skriv ut datoverdien
System.ute.println ("Den definerte datoen er" + dato2);

fange (java.tekst.ParseException e)
// Skriv ut feilmelding
System.feil.println (e.getMessage ());


Produksjon:

Følgende utdata vises etter kjøring av skriptet, og den første utgangen vil avhenge av gjeldende systemtid.

Konklusjon:

Ulike måter å formatere datoverdien vises i denne opplæringen ved hjelp av forskjellige Java-klasser. Opplæringen fokuserer hovedsakelig på formatering av datoverdiene. Du kan formatere tidsverdien også etter klassene som brukes her. Jeg håper, datoformateringsoppgaven i Java blir lettere etter å ha lest denne opplæringen.

Kamp for Wesnoth 1.1. 3.6 Utvikling utgitt
Kamp for Wesnoth 1.1. 3.6 utgitt i forrige måned, er den sjette utgivelsen i 1.1. 3.x-serien, og den leverer en rekke forbedringer, spesielt til bruke...
Slik installerer du League Of Legends på Ubuntu 14.04
Hvis du er fan av League of Legends, er dette en mulighet for deg å prøvekjør League of Legends. Merk at LOL støttes på PlayOnLinux hvis du er en linu...
Installer det siste OpenRA-strategispillet på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spillmotor som gjenskaper de tidlige Westwood-spillene som den klassiske Command & Conquer: Red Alert. Di...