Hoe tekenreeks naar datum in Java te converteren?



Dit artikel laat je kennismaken met manieren waarop je String naar Date in Java kunt converteren en geeft je ook een grondige praktische demonstratie.

Dit artikel laat je kennismaken met manieren waarop je String naar Date kunt converteren in en geef je ook een grondige praktische demonstratie. De volgende tips komen in dit artikel aan bod:

Dus laten we beginnen,





Hoe string naar datum in Java te converteren?

We zullen hier leren “String-objecten naar Date-objecten converteren” met behulp van eenvoudige codewijzigingen en technieken. De beste manier om te converteren is
Tekenreeks tot op heden



SimpleDateFormat.parse (tekenreeks)

Datum naar tekenreeks

SimpleDateFormat.format (Datum)


Het ontleden werkt op verschillende manieren:

Verder gaan met dit artikel over Convert String To Date in Java,



De datum als tekst gebruiken

Als u de maand als tekst in drie letters nodig heeft, moeten we 3 ‘M’ definiëren, die wordt gebruikt als de maandwaarde. Vervolgens wordt de waarde van de maand geïnterpreteerd als tekst zoals okt, dec, jun etc.

Om het resultaat te krijgen: 12 december 1998

Hier is de code om de String-waarde uit te drukken in de datumnotatie.

Pakket 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- yyyy ') String dateInString = '12 -Dec-1998' probeer {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Uitgang:
Vrij 12 december 00:00:00 MYT 1998
12 december 1998

Verder gaan met dit artikel over Convert String To Date in Java,

Om de datum op te maken in de vorm '12/12/1988'

pakket 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 / yyyy ') String dateInString = '12 / 12/1988' probeer {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 gebruikt een Date-Time API die parse () -methoden biedt om de String-waarde om te zetten in de Date-Time-waarde. Voor basisparseerregels zijn er standaarden gedefinieerd om de String-waarde voor de datum en tijd in beide weer te geven ISO_LOCAL_TIME of ISO_LOCAL_DATE formaat. We plaatsen de formattercode in het ‘try’ en ‘catch’ -blok dat tijdens runtime een uitzondering genereert telkens wanneer niet aan de gedefinieerde regel wordt voldaan.
Een eenvoudig ontleedvoorbeeld is:

hoe u een app maakt in salesforce
LocalDateTime dateTime = LocalDateTime.parse ('2018-05-05T11: 50: 55')

Verder gaan met dit artikel over Convert String To Date in Java,

Om de tijdzone te wijzigen

Om dit te doen, moeten we de tijdzone-parseermethoden definiëren die bekend staan ​​als 'ZonedDateTime' om de tekenreekswaarde direct te wijzigen in een datum-tijdformaat. Het enige dat u hoeft te doen, is de tijdzone definiëren waarin u uw datum-tijd wilt hebben. Hier hebben we bijvoorbeeld onze datum en tijd in de Europese zone nodig. We definiëren de tiemzone dus als Europa / Parijs door de ‘ZonedDateTime’ -methode te gebruiken:

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

Laten we nu het simpele nemen Date Time API die de String-waarde omzet in de Datum-waarde met SimpleDateFormat:

  1. Java heeft een nieuw Datum Tijd API-aanroep met versie 8 om de datum / tijdparameters weer te geven die bekend staan ​​als 'java.time'. De oude oproep in alle vorige versies om de datum weer te geven was java.util.date.

Laten we eens kijken hoe we een tekenreeks daadwerkelijk kunnen converteren naar een lokaal gegevenstype voor datum en tijd:

Parseer de API-aanroep:

Als de String-waarde die we nodig hebben om te converteren naar de Datum Tijd type is van ISO-801-formaat, dan kunnen we eenvoudig de klassen DateFormat en SimpleDateFormat aanroepen met behulp van de methoden parse ().

Een voorbeeld voor hetzelfde:

import java.text.SimpleDateFormat import java.util.Date openbare klasse StringToDateExample1 {public static void main (String [] args) gooit Uitzondering {String sDate1 = '31 / 12/1998 'Datum date1 = nieuwe SimpleDateFormat (' dd / MM / jjjj '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Uitgang:
31/12/1998 Do 31 december 00:00:00 IS 1998

import java.text.SimpleDateFormat import java.util.Date public class StringToDateExample2 {public static void main (String [] args) gooit uitzondering {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' wo, 12 oktober 1988 'String sDate5 =' wo, 12 oktober 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatter1 = nieuwe SimpleDateFormat ('dd / MM / jjjj') SimpleDateFormat formatter2 = nieuwe SimpleDateFormat ('dd-MMM-jjjj') SimpleDateFormat formatter3 = nieuwe SimpleDateFormat ('MM dd, jjjj') SimpleDateFormat formatter4 = nieuwe SimpleDateFormat jjjj ') SimpleDateFormat formatter5 = nieuwe SimpleDateFormat (' E, MMM dd jjjj HH: mm: ss ') SimpleDateFormat formatter6 = nieuwe SimpleDateFormat (' dd-MMM-jjjj HH: mm: ss ') Datum date1 = formatter1.parse (sDate1) Datum date2 = formatter2.parse (sDate2) Datum date3 = formatter3.parse (sDate3) Datum date4 = formatter4.parse (sDate4) Datum date5 = formatter5.parse (sDate5) Datum date6 = formatter6.parse (sDate6) System.out.println (sDat e1 + 't' + date1) 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)}}

Door de bovenstaande code te gebruiken, krijgt u daadwerkelijk de resultaten in alle genoemde formaten. Dus hebben we de verschillende datumnotaties in een String-waarde gedefinieerd en vervolgens geparseerd door de klasse SimpleDateFormat te definiëren. Als u klaar bent, wordt de uitvoer gegenereerd in alle genoemde datum-tijdnotaties.

31/12/1998 Do 31 december 00:00:00 IS 1998

31 december 1998 Do 31 december 00:00:00 IS 1998

12 31, 1998 Do 31 december 00:00:00 IS 1998

Don 31 december 1998 Do 31 december 00:00:00 IS 1998

Do 31 december 1998 23:37:50 Do 31 december 23:37:50 IS 1998

31 december 1998 23:37:50 Do 31 december 23:37:50 IS 1998

Lees het document voor meer informatie over de datumnotatie de javadoc . Enkele van de geldige tekenreeks-tot-datum-indelingen worden hier vermeld:
y = jaar (jj of jjjj)

M = maand (MM)

d = dag in maand (dd)

h = uur (0-12) (uu)

H = uur (0-23) (HH)

m = minuut in uur (mm)

s = seconden (ss)

S = milliseconden (SSS)

z = tijdzonetekst (bijv. Pacific Standard Time ...)

Z = tijdzone, tijdverschuiving (bijv. -0800)

Opmerking: Het definiëren van ‘Java.util.date’ als Date date = new date () is verouderd. Gebruik dus altijd SimpleDateFormat met een bijpassende inputstring die u moet converteren.

Zo zijn we aan het einde gekomen van dit artikel over ‘How To String To Date In Java?’. Als u meer wilt weten,bekijk de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel en we nemen zo snel mogelijk contact met u op.