Hvordan konvertere streng til dato i Java?



Denne artikkelen vil introdusere deg for måter du kan konvertere streng til dato i Java og også gi deg en grundig praktisk demonstrasjon.

Denne artikkelen vil introdusere deg for måter du kan konvertere streng til dato på og også gi deg en grundig praktisk demonstrasjon. Følgende tips vil bli dekket i denne artikkelen,

Så la oss komme i gang,





Hvordan konvertere String til Date i Java?

Vi lærer her “Hvordan konvertere strengobjekter til datoobjekter” ved hjelp av enkle kodeendringer og teknikker. Den beste måten å konvertere er
String to Date



SimpleDateFormat.parse (streng)

Dato til streng

SimpleDateFormat.format (dato)


Analyse fungerer på forskjellige måter:

Fortsetter med denne artikkelen om Konverter streng til dato i Java,



Tar datoen som en tekst

Hvis du trenger måneden som en tekst med tre bokstaver, må vi definere 3 ‘M’ som blir tatt som månedsverdien. Da tolkes månedens verdi som tekst som okt, des, juni osv.

For å få resultatet: 12. desember 1998

Her er koden for å uttrykke strengverdien i datoformatet.

Pakke com.test.test import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- åååå ') String dateInString = '12 -Dec-1998' prøv {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Produksjon:
Fredag ​​12. desember 00:00:00 MYT 1998
12. desember 1998

Fortsetter med denne artikkelen om Konverter streng til dato i Java,

For å få datoen formatert i skjemaet “12/12/1988”

pakke com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date public class TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / åååå ') String dateInString = '12 / 12/1988' prøv {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 bruker Date-Time API som gir parse () -metoder for å konvertere strengverdien til Date-Time-verdien. For grunnleggende parseringsregler har det vært definert standarder som representerer strengverdien for dato og klokkeslett i begge ISO_LOCAL_TIME eller ISO_LOCAL_DATE format. Vi setter formateringskoden i 'prøve' og 'fangst' -blokken som gir et unntak ved kjøretid hver gang den definerte regelen ikke blir oppfylt.
Enkelt analyseeksempel er:

LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

Fortsetter med denne artikkelen om Konverter streng til dato i Java,

For å endre tidssonen

For å gjøre dette, må vi definere tidssoneparseringsmetodene kjent som “ZonedDateTime” for å direkte endre strengverdien til dato-tidsformat. Alt du trenger å gjøre er å definere tidssonen du vil ha dato for. For eksempel, her trenger vi vår dato og tid i den europeiske sonen. Så vi definerer tiemzone som Europa / Paris ved å bruke ‘ZonedDateTime’-metoden:

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('2015-05-05T10: 15: 30 + 01: 00 [Europe / Paris]')

La oss ta det enkle API for dato og klokkeslett som konverterer strengverdien til datoverdien ved hjelp av SimpleDateFormat:

  1. Java introduserte en ny Dato tid API-anrop med versjon 8 for å representere dato-tidsparametrene kjent som “java.time”. Den gamle samtalen i alle tidligere versjoner for å representere datoen var java.util.date.

La oss se hvordan du faktisk konverterer en streng til en lokal datatype for dato og klokkeslett:

Analyser API-samtalen:

Hvis strengverdien vi trenger å konvertere til Dato tid typen er av ISO-801-format, så kan vi bare ringe DateFormat og SimpleDateFormat-klasser ved hjelp av parse () -metoder.

Et eksempel på det samme:

dato datatype i kvl
importer java.text.SimpleDateFormat importer java.util.Date offentlig klasse StringToDateExample1 {offentlig statisk ugyldig hoved (String [] args) kaster Unntak {String sDate1 = '31 / 12/1998 'Dato dato1 = ny SimpleDateFormat (' dd / MM / åååå '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Produksjon:
31.12.1998 Torsdag 31. desember kl. 00:00:00 IS 1998

importer java.text.SimpleDateFormat importer java.util.Date offentlig klasse StringToDateExample2 {offentlig statisk ugyldig hoved (String [] args) kaster Unntak {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'streng sDate4 =' ons 12. oktober 1988 'streng sDate5 =' ons 12. oktober 1988 23:37:50 'streng sDate6 = '31 -des-1998 23:37:50' SimpleDateFormat formatter1 = ny SimpleDateFormat ('dd / MM / åååå') SimpleDateFormat formatter2 = ny SimpleDateFormat ('dd-MMM-åååå') SimpleDateFormat formatter3 = ny SimpleDateFormat ('MM dd, åååå') SimpleDateFormat formatter4 = ny SimpleDateFatMat åååå ') SimpleDateFormat formatter5 = ny SimpleDateFormat (' E, MMM dd åååå HH: mm: ss ') SimpleDateFormat formatter6 = ny SimpleDateFormat (' dd-MMM-åååå HH: mm: ss ') Dato dato1 = formatter1.parse (sDate1) Dato date2 = formatter2.parse (sDate2) Date date3 = formatter3.parse (sDate3) Date date4 = formatter4.parse (sDate4) Date date5 = formatter5.parse (sDate5) Date date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + dato1) System.out.println (sDate2 + 't' + date2) System.out.println (sDate3 + 't' + date3) System.out.println (sDate4 + 't' + date4) System.out. println (sDate5 + 't' + date5) System.out.println (sDate6 + 't' + date6)}}

Ved å bruke koden ovenfor får du faktisk resultatene i alle de nevnte formatene. Så vi definerte de forskjellige datoformatene i en strengverdi, og deretter analyserte vi dem ved å definere SimpleDateFormat-klassen. Når det er gjort, genereres utdataene i alle de nevnte datoformatene.

31.12.1998 Torsdag 31. desember kl. 00:00:00 IS 1998

31. desember 1998 Torsdag 31. desember kl. 00:00:00 IS 1998

12 31. 1998 Torsdag 31. desember kl. 00:00:00 IS 1998

Torsdag 31. desember 1998 Torsdag 31. desember kl. 00:00:00 IS 1998

Tor 31. des 1998 23:37:50 Tor 31. des 23:37:50 IS 1998

31. desember 1998 23:37:50 Tor 31. des 23:37:50 IS 1998

Les dokumentet for å vite mer om datoformatet javadoc . Noen av de gyldige String to Date-formatene er nevnt her:
y = år (åå eller åååå)

M = måned (MM)

d = dag i måned (dd)

h = time (0-12) (hh)

H = time (0-23) (HH)

m = minutt i time (mm)

s = sekunder (ss)

S = millisekunder (SSS)

z = tidssonetekst (f.eks. Pacific Standard Time ...)

Z = tidssone, tidsforskyvning (f.eks. -0800)

Merk: Å definere ‘Java.util.date’ som dato dato = ny dato () er avviklet. Så bruk alltid SimpleDateFormat med en matchende inngangsstreng som du trenger å konvertere.

java forskjell mellom redskaper og utvidelser

Dermed har vi kommet til en slutt på denne artikkelen om ‘Hvordan konvertere streng til dato i Java?’. Hvis du ønsker å lære mer,sjekk ut av Edureka, et pålitelig online læringsfirma. Edurekas Java J2EE- og SOA-opplærings- og sertifiseringskurs er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet i denne artikkelen, og vi vil kontakte deg så snart som mulig.