Kako pretvoriti niz v datum v Javi?



Ta članek vam bo predstavil načine, na katere lahko pretvorite String v Date v Javi, in vam tudi dal temeljit praktičen prikaz.

Ta članek vas bo seznanil z načini pretvorbe niza v datum in vam tudi temeljito predstaviti. V tem članku bodo zajeti naslednji napotki:

Začnimo torej,





Kako pretvoriti String v Date v Javi?

Tu se bomo naučili 'Kako pretvoriti String predmete v predmete Date' z uporabo preprostih sprememb kode in tehnik. Najboljši način za pretvorbo je
Niz do datuma



SimpleDateFormat.parse (niz)

Datum v niz

SimpleDateFormat.format (Datum)


Razčlenjevanje deluje na različne načine:

Nadaljujemo s tem člankom o Pretvarjanju niza v datum v Javi,



Jemanje datuma kot besedila

Če mesec potrebujete kot besedilo v treh črkah, moramo določiti 3 „M“, ki se upošteva kot vrednost meseca. Nato se vrednost meseca razlaga kot besedilo, kot so oktober, december, junij itd.

Da bi dobili rezultat: 12. december 1998

Tu je koda za izražanje vrednosti String v obliki zapisa Date.

Paket com.test.test import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date javni razred TestDateExample1 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd-MMM- yyyy ') String dateInString = '12 -Dec-1998' poskusite {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Izhod:
Pet 12. decembra 00:00:00 MYT 1998
12. december 1998

Nadaljujemo s tem člankom o Pretvarjanju niza v datum v Javi,

Če želite datum oblikovati v obliki “12.12.1988”

paket com.test.date import java.text.ParseException import java.text.SimpleDateFormat import java.util.Date javni razred TestDateExample2 {public static void main (String [] argv) {SimpleDateFormat formatter = new SimpleDateFormat ('dd / MM / yyyy ') String dateInString = '12 / 12/1988' poskusite {Date date = formatter.parse (dateInString) System.out.println (date) System.out.println (formatter.format (date))} catch (ParseException e ) {e.printStackTrace ()}}}

Java 8 uporablja Date-Time API, ki zagotavlja metode parse () za pretvorbo vrednosti String v vrednost Date-Time. Za osnovna pravila razčlenjevanja so določeni standardi, ki predstavljajo vrednost Stringa za datum in čas v obeh ISO_LOCAL_TIME ali ISO_LOCAL_DATE format. Kodo oblikovalca vstavimo v blok »try« in »catch«, ki med izvajanjem vrže izjemo vsakič, ko določeno pravilo ni izpolnjeno.
Primer preprostega razčlenjevanja je:

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

Nadaljujemo s tem člankom o Pretvarjanju niza v datum v Javi,

Če želite spremeniti časovni pas

Za to moramo določiti metode razčlenjevanja časovnega pasu, znane kot 'ZonedDateTime', da neposredno spremenimo vrednost niza v obliko datuma in časa. Vse, kar morate storiti, je določiti časovni pas, v katerem želite datum in čas. Tu na primer potrebujemo svoj datum in uro v evropskem območju. Torej opredelimo tiemzone kot Evropa / Pariz z uporabo metode 'ZonedDateTime':

ZonedDateTime zonedDateTime = ZonedDateTime.parse ('05.05.2015T10: 15: 30 + 01: 00 [Evropa / Pariz]')

Zdaj pa vzemimo preprosto API za datum in čas ki pretvori vrednost String v vrednost Date z uporabo SimpleDateFormat:

  1. Java je predstavila novo Datum čas Klic API s svojo različico 8 za predstavitev časovnih parametrov datuma, znanih kot 'java.time'. Stari klic v vseh prejšnjih različicah za predstavitev datuma je bil java.util.date.

Poglejmo, kako dejansko pretvoriti niz v lokalni podatkovni tip datuma in časa:

Razčlenitev klica API:

Če vrednost String, ki jo moramo pretvoriti v Datum čas je v obliki ISO-801, nato pa lahko preprosto uporabimo razrede DateFormat in SimpleDateFormat z uporabo metod parse ().

Primer za isto:

import java.text.SimpleDateFormat import java.util.Date javni razred StringToDateExample1 {public static void main (String [] args) vrže izjemo {String sDate1 = '31 / 12/1998 'Date date1 = new SimpleDateFormat (' dd / MM / yyyy '). parse (sDate1) System.out.println (sDate1 +' t '+ date1)}}

Izhod:
31.12.1998 31. december 00:00:00 IS 1998

import java.text.SimpleDateFormat import java.util.Date javni razred StringToDateExample2 {public static void main (String [] args) vrže izjemo {String sDate1 = '12 / 10/1988 'String sDate2 = '12 -Oct-1988' String sDate3 = '12 10, 1988 'String sDate4 =' Sreda, 12. oktober 1988 'Niz sDate5 =' Sre, 12. oktober 1988 23:37:50 'String sDate6 = '31 -Dec-1998 23:37:50' SimpleDateFormat formatter1 = nov SimpleDateFormat ('dd / MM / llll') SimpleDateFormat formatter2 = nov SimpleDateFormat ('dd-MMM-llll') SimpleDateFormat formatter3 = nov SimpleDateFormat ('MM dd, llll') SimpleDateFormat formatter4 = nov SimpleDateFormat ('E, MMM dd llll ') SimpleDateFormat formatter5 = nov SimpleDateFormat (' E, MMM dd llll HH: mm: ss ') SimpleDateFormat formatter6 = nov SimpleDateFormat (' dd-MMM-llll HH: mm: ss ') Datum datum1 = formatter1.parse (sDate1) Datum 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' + 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)}}

Z uporabo zgornje kode dejansko dobite rezultate v vseh omenjenih oblikah. Torej smo različne oblike datumov definirali v vrednosti String in jih nato razčlenili z opredelitvijo razreda SimpleDateFormat. Ko konča, se izhod ustvari v vseh omenjenih formatih datuma in časa.

31.12.1998 31. december 00:00:00 IS 1998

31. december 1998 31. december 00:00:00 IS 1998

12. 31. 1998 31. december 00:00:00 IS 1998

Četrtek, 31. december 1998 31. december 00:00:00 IS 1998

Četrtek, 31. december 1998 23:37:50 31. december 23:37:50 IS 1998

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

kaj je pojo razred v javi

Če želite izvedeti več o obliki datuma, preberite dokument javadoc . Tu so omenjeni nekateri veljavni formati String to Date:
y = leto (yy ali yyyy)

M = mesec (MM)

d = dan v mesecu (dd)

h = ura (0-12) (hh)

H = ura (0-23) (HH)

m = minuta v uri (mm)

s = sekunde (ss)

S = milisekunde (SSS)

z = besedilo časovnega pasu (npr. pacifiški standardni čas ...)

Z = časovni pas, časovni zamik (npr. -0800)

Opomba: Določitev „Java.util.date“ kot Date date = new date () je opuščena. Torej, vedno uporabite SimpleDateFormat z ustreznim vhodnim nizom, ki ga morate pretvoriti.

Tako smo prišli do konca tega članka o 'Kako pretvoriti niz v datum v Javi?'. Če želite izvedeti več,preverite Edureka, zaupanja vredno podjetje za spletno učenje. Edurekin tečaj za usposabljanje in certificiranje Java J2EE in SOA je zasnovan tako, da vas usposobi za temeljne in napredne koncepte Java, skupaj z različnimi Java okviri, kot sta Hibernate & Spring.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega članka in odgovorili vam bomo v najkrajšem možnem času.